Géocodage inverse


Présentation :

Le géocodage inverse ou (Reverse Geocoding) consiste à convertir des données cartésiennes (latitude, longitude) en informations textuelles lisibles et compréhensibles par les humain. Le résultat recherché est souvent l’adresse correspondante à une position GPS. L’adresse peut être composée de plusieurs niveaux de précision.

L’API FINOU RGC accessible via des requêtes de type REST retourne l’adresse recherchée en une seule chaîne ou bien en séparant les différentes composantes selon la requête du client. Le client peut aussi spécifier le format dans lequel il veut recevoir ces informations. Deux formats sont supportés par l’API FINOU RGC: XML et JSON.

L’intégration de l’API FINOU RGC est très simple et bien documentée. Il suffit de créer un compte RGC chez T&T pour obtenir un code d’accès valable pour un serveur unique. Ensuite, depuis n’importe quelle application, développée en n’importe quelle langage, vous pouvez effectuer vos requêtes HTTP vers nos serveurs.

Utilisation de l’API :

URLs :

L’URL qui vous permet d’accéder à notre API vous sera fournit une fois votre compte est validé chez T&T. Il peut différer d’un client à l’autre selon le plan tarifaire choisis et ainsi selon le plafonnement de requêtes applicable. Dans la suite de la documentation, nous utiliserons <api-url> pour faire référence à l’URL de l’API.

API KEY :

Le code d’accès à l’API est généré après la création de votre compte chez T&T. Ce code sera lié à votre serveur et vous ne pouvez l’utiliser que depuis le serveur que vous avez indiqué lors de la création de votre compte. Dans la suite de la documentation, nous utiliserons <api-key> pour faire référence au code de d’accès à l’API.

Paramètres :

Chaque requête RGC se présente sous la forme suivante :

http://<api-url>?<params>

Les principaux paramètres sont les suivants :

k=<api-key>

La clé d’accès qui vous a été communiquée par e-mail lors de la création de votre compte.

format=[xml|json]

Format de sortie. Nous recommandons l’utilisation du format JSON car plus performant.

json_callback=<fonction>

Encapsuler la sortie json dans une fonction de rappel (JSONP), par exemple <fonction>(<json>)

accept-language=<language du navigateur>

Permet de surcharger le language par défaut du navigateur avec un langage pour les résultats de recherche.
Il est possible d’utiliser une chaîne accept-language au format standard rfc2616 ou une simple liste de codes de langage séparés par des virgules.

lat=<value>
lon=<value>

Les coordonnées du lieu pour lequel il faut générer une adresse

zoom=[0-18]

Niveau de zoom demandé où 0 est le niveau pays et 18 le niveau maison/immeuble

addressdetails=[0|1]

0: adresse en une seule chaine. 1: Décomposer l’adresse en sous-éléments (pays, ville, région, rue…)

Exemples :

Requête :

http://<api-url>?k=<api-key>&format=json&lat=34.01913&lon=-6.82423&addressdetails=0

Résultat :

{"place_id":"139677","licence":"T&T","lat":"34.018646","lon":"-6.8247961","display_name":"CNIPE, Rue Sefrou, Hassan, Rabat الرباط, 10050, Maroc"}

Requête :

http://<api-url>?k=<api-key>&format=json&lat=34.01913&lon=-6.82423&addressdetails=1

Résultat :

{"place_id":"139677","licence":"T&T","lat":"34.018646","lon":"-6.8247961","display_name":"CNIPE, Rue Sefrou, Hassan, Rabat الرباط, 10050, Maroc","address":{"public_building":"CNIPE","road":"Rue Sefrou","suburb":"Hassan","city":"Rabat الرباط","postcode":"10050","country":"Maroc","country_code":"ma"}}

Requête :

http://<api-url>?k=<api-key>&format=xml&lat=34.01913&lon=-6.82423&addressdetails=1

Résultat :


<reversegeocode timestamp="Sun, 05 Jun 16 22:33:23 +0000" attribution="T&T" querystring="format=xml&k=<api-key>&lat=34.01913&lon=-6.82423&addressdetails=1">
<result place_id="139677" ref="CNIPE" lat="34.018646" lon="-6.8247961">
CNIPE, Rue Sefrou, Hassan, Rabat الرباط, 10050, Maroc
</result>
<addressparts>
<public_building>CNIPE</public_building>
<road>Rue Sefrou</road>
<suburb>Hassan</suburb>
<city>Rabat الرباط</city>
<postcode>10050</postcode>
<country>Maroc</country>
<country_code>ma</country_code>
</addressparts>
</reversegeocode>