GÉOCODEZ UNE ADRESSE POSTALE AU FORMAT .JSON
Présentation
Quelques définitions pour commencer :
Format JSON : c'est un format léger d'échange de données utilisant la notation des objets JavaScript. Il est totalement indépendant de tout langage.
JSON se base sur deux structures :
- Une collection de couples Nom / Valeur.
- Une liste de valeurs ordonnées.
Pour en savoir plus sur le format .json :
- Wikipédia : le format JSON
- Présentation de JSON
- JSON un format pour échanger des données avec javascript
Géocoder une adresse : Géocoder consiste à estimer les coordonnées GPS (la latitude et la longitude) d'un lieu donné (adresse postale).
Vous pouvez accéder directement au géocodeur de Google Maps grâce à cette requête HTTP :
http://maps.google.com/maps/geo?
en utilisant les paramètres suivants :
- q obligatoire :
- Adresse postale que vous souhaitez géocoder.
- Latitude,Longitude que vous souhaitez transformer en adresse postale.
- key obligatoire :
- Votre clé API.
- sensor obligatoire :
- Indique si le demande de géocodage vient d'un GPS. Valeurs possibles : true ou false.
- output obligatoire :
- Format de la réponse. Les options possibles sont : xml - kml - csv - json ( par défaut ).
- oe facultatif mais fortement conseillé :
- Format d'encodage de la réponse. Il est fortement recommandé d'utiliser l'encodage utf8, sauf si vous souhaitez utiliser impérativement un autre type d'encodage.
- ll facultatif :
- Centre de la fenêtre, sous la forme suivante : ll = latitude, longitude
- Exemple : ll=40.479581, -117.773438. Ce paramètre n'a de sens que si le paramètre spn est également transmis au géocodeur.
- spn facultatif :
- Le "span" de la fenêtre, exprimée sous la forme suivante : spn = latitude, longitude
- Exemple : spn=11.1873,22.5. Ce paramètre n'a de sens que si le paramètre ll est également transmis au géocodage.
- gl facultatif :
- Code du pays à deux caractères. Pour plus d'informations, voir Country code top-level domain.
Notez que les paramètres suivants gl et spn, ll vont influencer, sans restreindre, les résultats du géocodeur.
Pour géocoder une adresse postale, au format .json, il vous suffit d'envoyer une requête HTTP de la forme :
http://maps.google.com/maps/geo?q=adresse+a+geocoder&output=json&oe=utf8&sensor=false&key=VOTRE_CLE_API
La réponse au format JSON vous permet d'obtenir une réponse détaillée :
Exemple I :
Format de la requête à envoyer, pour obtenir les coordonnées géographiques (Latitude + Longitude) au format "json" de l'adresse suivante : 10 rue bretonneau 37000 tours :
http://maps.google.com/maps/geo?q=10+rue+bretonneau+37000+tours+fr&output=json&oe=utf8&sensor=false&key=ABQIAAAATndsWAV5Q2y7pRRi-22W_hTxw9fvAnrsiYejTsRxd4b0cj9HKxSNCXUxAANaoACDzXWznNLVPto_jA
Réponse obtenue au format .json :
{
"name": "10 rue bretonneau 37000 tours fr",
"Status": {
"code": 200,
"request": "geocode"
},
"Placemark": [ {
"id": "p1",
"address": "10 Rue Bretonneau, 37000 Tours, France",
"AddressDetails": {
"Accuracy" : 8,
"Country" : {
"AdministrativeArea" : {
"AdministrativeAreaName" : "Centre",
"SubAdministrativeArea" : {
"Locality" : {
"LocalityName" : "Tours",
"PostalCode" : {
"PostalCodeNumber" : "37000"
},
"Thoroughfare" : {
"ThoroughfareName" : "10 Rue Bretonneau"
}
},
"SubAdministrativeAreaName" : "Indre-et-Loire"
}
},
"CountryName" : "France",
"CountryNameCode" : "FR"
}
},
"ExtendedData": {
"LatLonBox": {
"north": 47.3985537,
"south": 47.3922585,
"east": 0.6835145,
"west": 0.6772192
}
},
"Point": {
"coordinates": [ 0.6803765, 47.3954067, 0 ]
}
} ]
}
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 :
Localisation des différentes adresses, figurant dans le tableau ci-dessus, sur une carte
| Adresse postale soumise | Icône | Code statut | Exactitude | Latitude | Longitude |
|---|---|---|---|---|---|
| tours | ![]() |
200 | 4 | 47.3902942 | 0.6888514 |
| 37000 tours | ![]() |
200 | 5 | 47.3832745 | 0.6897966 |
| rue bretonneau 37000 tours | ![]() |
200 | 6 | 47.3950187 | 0.6803994 |
| 10 rue bretonneau 37000 tours | ![]() |
200 | 8 | 47.3954067 | 0.6803765 |
Remarque(s)
Autres articles :
- Api Google Maps - Geocodeur - Warning file_get_contents() curl() file() quotas sur les requêtes http et erreur 620 et 404
- Api Google Maps - Geocodeur - Les conditions d'utilisation du géocodeur de Google Maps
- Api Google Maps - Geocodeur - Code statut requête - GGeoStatusCode
- Api Google Maps - Geocodeur - Degré de précision du résultat d'une requête de géocodage - accuracy - GGeoAddressAccuracy




