banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oubliĂ© ?

#1 Tue 12 March 2013 17:23

FatimZB
Participant occasionnel
Date d'inscription: 26 Jun 2012
Messages: 12

Géocodage et Insertion dans BD

Bonjour tt le monde,
je travaille actuellement sur une problĂ©matique du gĂ©ocodage. Je souhaite gĂ©ocoder Ă  partir d'un tableau excel et insĂ©rer le rĂ©sultat cad lat long et adresse dans une table postgres. pour ce faire j'essaye de faire le code d'abord pour une adresse donnĂ©e et je vais generalisĂ© apres. 
voici le code que j'ai fais ( c'est plutot celui de :  http://www.weboblog.fr/inserer-les-coor … sse-en-bdd )

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <title>test</title>
      
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false">
    </script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">
    </script>
    </head>
    <body>
    <input type="text" id="adresse" value="saisissez votre adresse a geolocaliser" />
    <input type="button" onclick="geolocalise()" value="geolocaliser" />
    Latitude : <input type="text" id="lat" value="" />
    Longitude : <input type="text" id="lng" value="" />
    <!--Div ou s'affichera le retour de l'appel AJAX (non obligatoire) -->
    <div id="answer">
    Reponse de l'appel AJAX :
    </div>
   
    <script type="text/javascript">

/* Declaration des variables globales */
var geocoder = new google.maps.Geocoder();
var addr, latitude, longitude;

/* Fonction chargee de geolocaliser l'adresse */
function geolocalise(){
  /* Recuperation du champ "adresse" */
  addr = document.getElementById('adresse').value;
  /* Tentative de geocodage */
  geocoder.geocode( { 'address': addr}, function(results, status) {
   /* Si geolocalisation reussie */
   if (status == google.maps.GeocoderStatus.OK) {
    /* Recuperation des coordonnees */
    latitude = results[0].geometry.location.lat();
    longitude = results[0].geometry.location.lng();
    /* Insertion des coordonnees dans les input text */
    document.getElementById('lat').value = latitude;
    document.getElementById('lng').value = longitude;
    /* Appel AJAX pour insertion en BDD */
    var sendAjax = $.ajax({
     type: "POST",
     url: "insert.php",
     data: "lat="+latitude+"&lng="+longitude+"&adr="+addr,
     success: handleResponse
    });
   }
   function handleResponse(){
   alert('this function is called from server.html')
   $("#answer").get(0).innerHTML = sendAjax.responseText;
   }
  });
}
</script>
</body>
</html>

le morceau de code relatif au geocodage marche tres bien mais c'est celui relation à l'appel d'ajax et insertion dans la base de donnée ne marche je ne sais pas d'ou vient l'erreur, si kelk 1 à des pistes je lui en serai reconnaissante.

voici la partie PHP : ( fichier insert-in-bdd.php)

<?php
//header('Content-type: text/html');
if(isset($_POST['lat']) && isset($_POST['lng'])){
  $lat = addslashes($_POST['lat']);
  $lng = addslashes($_POST['lng']);
  $adr = addslashes($_POST['adr']);
  $db = pg_connect("host=localhost port=5432 dbname=geocode user=postgres password=FatimZ");
      if (!$db) {
      echo "il y a un blem";
      exit;
      }
  $result = pg_query($db, "INSERT INTO ma_table(lat,lng,adresse) VALUES ("'.$lat.'","'.$lng.'","'.$adr.'")");
      if (!result) {
      echo 'Problème rencontrĂ© dans les valeurs passĂ©es en paramètres.\n';
      exit;
      }
echo 'Problème rencontré dans les valeurs passées en paramètres';
}
 
?>

merci pour votre interaction

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo