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.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
qobligatoire* | chaîne | Texte libre à géocoder. Jusqu'à 256 caractères. |
street, city, state, postcode, country | chaî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_id | chaî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. |
limitfacultatif | entier | Nombre maximum de résultats, de 1 à 10. Par défaut 5. |
countriesfacultatif | chaîne | Codes 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. |
boundsfacultatif | chaîne | south,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. |
proximityfacultatif | chaîne | lat,lon. Les résultats proches de ce point sont classés en premier. |
langfacultatif | chaîne | Code ISO 639-1 pour les noms dans la réponse. Par défaut en. |
keyfacultatif | chaîne | Clé 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]){
"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
| Champ | Type | Description |
|---|---|---|
query | chaîne | Le texte que nous avons interprété, après suppression des espaces superflus. |
results | tableau | Correspondances, de la meilleure à la moins bonne. Vide si rien ne correspond. |
results[].formatted | chaîne | Adresse complète au format usuel du pays. |
results[].lat, lon | nombre | Degrés décimaux WGS 84. |
results[].type | chaîne | address, street, postcode, city, region, country, poi. |
results[].precision | chaîne | house, street, postcode, admin. Ce que représente le point. Voir la couverture. |
results[].confidence | nombre | De 0 à 1. Le degré de correspondance du résultat avec la requête. En dessous de 0.5, nous avons deviné. |
results[].place_id | chaîne | Identifiant stable de ce lieu. |
results[].components | objet | Éléments de l'adresse. Voir ci-dessous. |
results[].bounds | objet | north, 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 |
|---|---|
name | Nom d'un point d'intérêt ou d'un bâtiment, lorsque la correspondance en est un. |
house_number | Y compris lettres et plages : 221B, 12-14. |
road | Nom de la voie avec son type : Baker Street, Avenue Anatole France. |
neighbourhood, suburb | Subdivisions de la ville, là où le pays en utilise. |
city | Ville, bourg ou village. |
county | Comté ou district. |
state, state_code | État, province ou région, et son suffixe ISO 3166-2 lorsqu'il existe. |
postcode | Code postal, formaté comme le fait l'autorité postale. |
country, country_code | Nom du pays et code ISO 3166-1 alpha-2 en minuscules. |
Remarques
- Les résultats sont classés selon une combinaison de confiance, de précision et de proximité. Utilisez le premier résultat, sauf si vous affichez une liste de choix.
- Lorsqu'un numéro de rue est introuvable sur une voie connue, le résultat a
type: streetetprecision: street, avec le numéro interpolé lorsque les données le permettent. Vérifiezprecisionsi cela compte pour vous. - Un code postal seul convient parfaitement comme
q. Pour les usages limités aux codes postaux, l'endpoint des codes postaux est plus rapide et renvoie le nom de localité de l'autorité postale. - Une requête écrite dans un alphabet pour un lieu qui en utilise un autre (du cyrillique pour une adresse japonaise, par exemple) fonctionne, mais c'est
langqui détermine l'alphabet de la réponse.
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.
| Fournisseur | Hôte | Chemin |
|---|---|---|
| Google Maps Platform | gapi.mygeocode.com | /maps/api/geocode/json?address=... |
| Bing Maps REST Services | bing.mygeocode.com | /REST/v1/Locations?q=.../REST/v1/Locations?countryRegion=...&locality=...&addressLine=... |
| HERE Geocoding and Search | here.mygeocode.com | /v1/geocode?q=.../v1/geocode?qq=street=...;city=... |
| Mapbox Geocoding | mapbox.mygeocode.com | /geocoding/v5/mapbox.places/{query}.json/search/geocode/v6/forward?q=... |
| Geocode.Farm | farm.mygeocode.com | /forward/?addr=.../v3/json/forward/?addr=... |
| OpenStreetMap Nominatim | osm.mygeocode.com | /search?q=...&format=json/search?street=...&city=...&country=...&format=json |
| OpenCage | opencage.mygeocode.com | /geocode/v1/json?q=.../geocode/v1/geojson?q=... |
| LocationIQ | locationiq.mygeocode.com | /v1/search?q=...&format=json |
| Geoapify | geoapify.mygeocode.com | /v1/geocode/search?text=... |
| TomTom Search | tomtom.mygeocode.com | /search/2/geocode/{query}.json/search/2/structuredGeocode.json?countryCode=...&streetName=... |
| MapQuest Geocoding | mapquest.mygeocode.com | /geocoding/v1/address?location=.../geocoding/v1/batch?location=...&location=... |
| Geocodio | geocodio.mygeocode.com | /v1.7/geocode?q=.../v1.7/geocode (POST, JSON array) |
| PositionStack | positionstack.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.