Quelques définitions pour commencer :
Format .csv : CSV est un format texte. Chaque ligne correspond à une rangée du tableau, et, les cellules d'une même rangée sont séparées par une virgule ( Format csv sur wikipedia ).
Géocoder une adresse : Géocoder consiste à estimer les coordonnées GPS (la latitude et la longitude) d'un lieu donné (adresse postale).
Pour géocoder vos adresses postales, au format .csv, il vous suffit d'envoyer une requète sous la forme :
http://maps.google.com/maps/geo? avec les paramètres suivants dans l'URI :
Ce qui nous donne au final :
La réponse au format CSV est idéale, car elle vous permet d'obtenir une réponse courte et facile à analyser. Celle-ci comporte quatre nombres, séparés par une virgule :
Exemple I :
Format de la requète à envoyer, pour obtenir les coordonnées géographiques (Latidude + Longitude) au format "csv" de l'adresse suivante :
10 rue bretonneau 37000 tours :
http://maps.google.com/maps/geo?q=10+rue+bretonneau+37000+tours+fr&output=csv&key=ABQIAAAATndsWAV5Q2y7pRRi-22W_hTxw9fvAnrsiYejTsRxd4b0cj9HKxSNCXUxAANaoACDzXWznNLVPto_jA
La réponse obtenue est : 200,8,47.395405,0.680357
Exemple II :
Impact de la précision de l'adresse sur l'Exactitude, la Latitude et la Longitude.
Voici les réponses obtenues pour quatre adresses, plus ou moins précises, classées par ordre croissant d'exactitude :
| Adresse postale soumise | Icône | Code statut | Exactitude | Latitude | Longitude |
|---|---|---|---|---|---|
| tours | ![]() | 200 | 4 | 47.390294 | 0.688851 |
| 37000 tours | ![]() | 200 | 5 | 47.387815 | 0.699509 |
| rue bretonneau 37000 tours | ![]() | 200 | 6 | 47.395019 | 0.680399 |
| 10 rue bretonneau 37000 tours | ![]() | 200 | 8 | 47.395405 | 0.680357 |
CODE STATUT REQUETE - enum GGeoStatusCode
Les équivalents numériques pour chaque constante symbolique sont indiqués entre parenthèses..
| Code statut de la requète | Description |
|---|---|
| (200) G_GEO_SUCCESS | Aucune erreur ne s'est produite. L'adresse a été analysée avec succès et ses coordonnées GPS (Latitude, Longitude) ont été retournées. (Since 2.55) |
| (400) G_GEO_BAD_REQUEST | La demande n'a pu être analysée avec succès. (Since 2.81) |
| (500) G_GEO_SERVER_ERROR | La demande n'a pu être traitée avec succès. La raison exacte de l'échec est inconnue. (Since 2.55) |
| (601) G_GEO_MISSING_QUERY | Le paramètre "q" de la requète HTTP est manquant ou n'a aucune valeur. Pour les demandes de "géocodage", cela signifie qu'une adresse vide a été indiquée dans la requète. Pour les demandes de directions, cela signifie qu'aucune question n'a été indiquée dans la requète. (Since 2.81) |
| (601) G_GEO_MISSING_ADDRESS | Synonyme de G_GEO_MISSING_QUERY. (Since 2.55) |
| (602) G_GEO_UNKNOWN_ADDRESS | Aucun lieu géographique correspondant à l'adresse indiquée n'a pu être trouvé. Cela peut être dû au fait que l'adresse est relativement nouvelle, ou qu'elle est peut être incorrecte. (Since 2.55) |
| (603) G_GEO_UNAVAILABLE_ADDRESS | Les coordonnées GPS (Latitude, Longitude) pour l'adresse donnée ou l'itinéraire demandé n'ont pu être retournées pour des raisons légales ou contractuelles. (Since 2.55) |
| (604) G_GEO_UNKNOWN_DIRECTIONS | GDirections n'a pas pu calculer d'itinéraire entre les points mentionnés dans la requète. Soit parce qu'il n'y a aucun itinéraire disponible entre les deux points, soit parce que nous ne disposons pas des données couvrant cette région. (Since 2.81) |
| (610) G_GEO_BAD_KEY | La clef indiquée est invalide ou n'est pas attribuée au domaine pour lequel elle a été donnée. (Since 2.55) |
| (620) G_GEO_TOO_MANY_QUERIES | Le nombre de requètes, pour la clef donnée, a dépassé le quota des demandes autorisées pour une période de 24 heure. (Since 2.55) |
CODE PRECISION ( EXACTITUDE ) - enum GGeoAddressAccuracy
Il n'y a aucune constante symbolique définie pour cette énumération.
| Code | Description |
|---|---|
| 0 | Localisation impossible. (Since 2.59) |
| 1 | Niveau d'exactitude : Pays. (Depuis 2.59) |
| 2 | Niveau d'exactitude : Région (état, province, préfecture, etc.). (Depuis 2.59) |
| 3 | Niveau d'exactitude : Région secondaire(comté, municipalité, etc.). (Depuis 2.59) |
| 4 | Niveau d'exactitude : Ville (ville, village). (Depuis 2.59) |
| 5 | Niveau d'exactitude : Code (code postal). (Depuis 2.59) |
| 6 | Niveau d'exactitude : Rue. (Depuis 2.59) |
| 7 | Niveau d'exactitude : Intersection. (Depuis 2.59) |
| 8 | Niveau d'exactitude : Adresse. (Depuis 2.59) |
Attention : Les conditions d'utilisation du géocodeur [ mis à jour le jeudi 12 juin 2008 ]
Sources :
Le nombre de requêtes, pour géocoder vos adresses, est limité à 15.000 requêtes / 24H et par IP.
Soit approximativement une requête toutes les 5.76 secondes.
Si, au cours de 24 heures, vous dépassez cette limite, le service de géocodage pour votre site peut être suspendu temporairement.
Si vous continuez à dépasser cette limite, votre accès au géocodeur peut être bloqué de façon définitive.
Précisions :
Lorsque vous employez le géocodeur côté client, par l'intermédiaire de GClientGeocoder, chacun de vos visiteurs disposera de son propre quota de 15.000 requêtes / 24H, ce qui lui sera quasiment impossible de dépasser.
Par contre, si vous employez le géocodeur via HTTP, toutes les demandes de géocodage issues de votre script entreront dans votre quota de 15.000 requêtes / 24H (votre serveur web envoyant la même adresse IP avec chaque requête de géocodage aux serveurs de Google).
Lorsque vous risquez de dépasser le quota de 15.000 requêtes / 24H, vous devrez modifier votre script afin de rester dans la limite fixée.
Dans le cas contraire, le code 620 ( = Le quota de requètes par 24H est dépassé) sera retourné en réponse à votre requête, au lieu du code 200 ( = géocodage réussi).
Voici quelques suggestions :
Si vous estimez que vos besoins dépasseront le quota de 15.000 requêtes / 24H / IP, Google peut augmenter le quota lié à votre IP.
Pour cela, veuillez envoyer un email contenant une description détaillée de l'utilisation que vous faites du géocodeur et un lien vers la page de votre site Web le mettant en application. Votre demande sera examinée.