Géocodage direct

Transformez du texte en coordonnées. Accepte les adresses complètes, les adresses partielles, les codes postaux, les noms de lieux et les points d'intérêt, dans n'importe quelle langue.

GEThttps://api.mygeocode.com/v1/forward

Paramètres

ParamètreTypeDescription
qobligatoire*chaîneTexte libre à géocoder. Jusqu'à 256 caractères.
street, city, state, postcode, countrychaîne*Alternative structurée à q. À utiliser lorsque vous avez déjà l'adresse découpée en champs. Au moins un champ est obligatoire si q est absent. Ici, country est un code ISO 3166-1 alpha-2.
place_idchaîne*Un place_id issu de la saisie semi-automatique. Renvoie ce lieu précis avec tous ses composants et son emprise. Prend le pas sur q.
limitfacultatifentierNombre maximum de résultats, de 1 à 10. Par défaut 5.
countriesfacultatifchaîneCodes ISO 3166-1 alpha-2 séparés par des virgules. Seuls les résultats situés dans ces pays sont renvoyés. Exemple : gb,ie.
boundsfacultatifchaînesouth,west,north,east en degrés décimaux. Les résultats situés dans la zone sont classés en premier. Ajoutez strict=1 pour exclure les résultats situés en dehors.
proximityfacultatifchaînelat,lon. Les résultats proches de ce point sont classés en premier.
langfacultatifchaîneCode ISO 639-1 pour les noms dans la réponse. Par défaut en.
keyfacultatifchaîneClé d'API, si elle n'est pas envoyée dans l'en-tête X-API-Key.

Exemple

$ curl -H "X-API-Key: YOUR_KEY" "https://api.mygeocode.com/v1/forward?q=Dam+1,+Amsterdam&countries=nl&limit=1"
const url = new URL("https://api.mygeocode.com/v1/forward");
url.searchParams.set("q", "Dam 1, Amsterdam");
url.searchParams.set("countries", "nl");
url.searchParams.set("limit", "1");

const data = await (await fetch(url, { headers: { "X-API-Key": "YOUR_KEY" } })).json();
console.log(data.results[0]);
import requests

r = requests.get("https://api.mygeocode.com/v1/forward",
                 params={"q": "Dam 1, Amsterdam", "countries": "nl", "limit": 1}, headers={"X-API-Key": "YOUR_KEY"}, timeout=10)
print(r.json()["results"][0])
Réponse
{
  "status": "ok",
  "query": "Dam 1, Amsterdam",
  "results": [
    {
      "formatted": "Dam 1, 1012 JS Amsterdam, Netherlands",
      "lat": 52.373119,
      "lon": 4.893604,
      "type": "address",
      "precision": "house",
      "confidence": 0.98,
      "place_id": "nl.addr.c21d40e8",
      "components": {
        "house_number": "1",
        "road": "Dam",
        "neighbourhood": "Centrum",
        "city": "Amsterdam",
        "state": "North Holland",
        "state_code": "NH",
        "postcode": "1012 JS",
        "country": "Netherlands",
        "country_code": "nl"
      },
      "bounds": { "north": 52.373519, "south": 52.372719, "east": 4.894204, "west": 4.893004 }
    }
  ]
}

Champs de la réponse

ChampTypeDescription
querychaîneLe texte que nous avons interprété, après suppression des espaces superflus.
resultstableauCorrespondances, de la meilleure à la moins bonne. Vide si rien ne correspond.
results[].formattedchaîneAdresse complète au format usuel du pays.
results[].lat, lonnombreDegrés décimaux WGS 84.
results[].typechaîneaddress, street, postcode, city, region, country, poi.
results[].precisionchaînehouse, street, postcode, admin. Ce que représente le point. Voir la couverture.
results[].confidencenombreDe 0 à 1. Le degré de correspondance du résultat avec la requête. En dessous de 0.5, nous avons deviné.
results[].place_idchaîneIdentifiant stable de ce lieu.
results[].componentsobjetÉléments de l'adresse. Voir ci-dessous.
results[].boundsobjetnorth, south, east, west de l'élément trouvé.

Clés des composants

Seules les clés pertinentes sont présentes. Les mêmes clés sont utilisées dans tous les pays.

CléSignification
nameNom d'un point d'intérêt ou d'un bâtiment, lorsque la correspondance en est un.
house_numberY compris lettres et plages : 221B, 12-14.
roadNom de la voie avec son type : Baker Street, Avenue Anatole France.
neighbourhood, suburbSubdivisions de la ville, là où le pays en utilise.
cityVille, bourg ou village.
countyComté ou district.
state, state_codeÉtat, province ou région, et son suffixe ISO 3166-2 lorsqu'il existe.
postcodeCode postal, formaté comme le fait l'autorité postale.
country, country_codeNom du pays et code ISO 3166-1 alpha-2 en minuscules.

Remarques

La même recherche aux formats d'autres fournisseurs

Si vous avez déjà du code écrit pour l'un de ces fournisseurs, gardez-le : l'hôte compatible accepte le même chemin et les mêmes paramètres et répond dans le format de réponse de ce fournisseur, avec cet endpoint derrière. Voir le fonctionnement des hôtes compatibles.

FournisseurHôteChemin
Google Maps Platformgapi.mygeocode.com/maps/api/geocode/json?address=...
Bing Maps REST Servicesbing.mygeocode.com/REST/v1/Locations?q=...
/REST/v1/Locations?countryRegion=...&locality=...&addressLine=...
HERE Geocoding and Searchhere.mygeocode.com/v1/geocode?q=...
/v1/geocode?qq=street=...;city=...
Mapbox Geocodingmapbox.mygeocode.com/geocoding/v5/mapbox.places/{query}.json
/search/geocode/v6/forward?q=...
Geocode.Farmfarm.mygeocode.com/forward/?addr=...
/v3/json/forward/?addr=...
OpenStreetMap Nominatimosm.mygeocode.com/search?q=...&format=json
/search?street=...&city=...&country=...&format=json
OpenCageopencage.mygeocode.com/geocode/v1/json?q=...
/geocode/v1/geojson?q=...
LocationIQlocationiq.mygeocode.com/v1/search?q=...&format=json
Geoapifygeoapify.mygeocode.com/v1/geocode/search?text=...
TomTom Searchtomtom.mygeocode.com/search/2/geocode/{query}.json
/search/2/structuredGeocode.json?countryCode=...&streetName=...
MapQuest Geocodingmapquest.mygeocode.com/geocoding/v1/address?location=...
/geocoding/v1/batch?location=...&location=...
Geocodiogeocodio.mygeocode.com/v1.7/geocode?q=...
/v1.7/geocode (POST, JSON array)
PositionStackpositionstack.mygeocode.com/v1/forward?query=...

Recherches en masse

Envoyez en POST au même chemin un corps JSON avec queries, un tableau de jusqu'à 100 adresses, et la réponse contient un tableau results avec une entrée par requête, dans l'ordre d'envoi. Chaque entrée compte comme une requête, et un lot plus grand que ce qui reste du quota est refusé en entier.

$ curl -X POST "https://api.mygeocode.com/v1/forward" -H "Content-Type: application/json" -d '{"queries": ["Brandenburg Gate, Berlin", "Bahnhofstrasse 1, Zurich"]}'

Erreurs

400 invalid_request lorsque ni q, ni un champ structuré, ni place_id n'est présent, lorsque limit est en dehors de la plage 1 à 10, ou lorsque bounds ou proximity est mal formé. Voir les erreurs pour le reste.