N-Ways
Documentation développeursGéocodage

Géocodage

Trouvez n’importe quelle adresse, code postal ou lieu au Nigeria, au Ghana, au Bénin, au Togo, au Gabon, en Côte d’Ivoire, au Libéria, en Guinée, en Sierra Leone, en Guinée-Bissau, au Sénégal, au Cameroun, au Burkina Faso, au Cap-Vert et en Gambie, ou dites ce qui se trouve à un point de la carte.

Sur cette page

Ce qu’il trouve

Le géocodage comprend ce que les gens tapent, comme ils le tapent, au Nigeria, au Ghana, au Bénin, au Togo, au Gabon, en Côte d’Ivoire, au Libéria, en Guinée, en Sierra Leone, en Guinée-Bissau, au Sénégal, au Cameroun, au Burkina Faso, au Cap-Vert et en Gambie :

  • Lieux et quartiers : Osogbo, Oshogbo (une faute de frappe), Unilag (un surnom), Wuse 2.
  • Adresses et rues : 12 Allen Avenue, Ikeja, Rue des Cheminots, Lomé.
  • Commerces et repères : Shoprite Ikeja, Kejetia station, gare de Dantokpa.
  • Codes postaux NIPOST (Nigeria), jusqu’au bâtiment quand N-Ways le connaît.
  • Codes d’adresse N-Ways, le nom d’un quartier ou d’un village et un numéro, sous toutes leurs formes (par pays).
  • Adresses GhanaPost GPS comme GA-183-8164, et Plus Codes comme 6FR5J975+P4W.

Adresse de base : https://nways.ng/maps/v1. Envoyez votre clé dans l’en-tête X-NWays-Api-Key, ou en key= dans une page web. Chaque réponse est décrite dans la référence.

Trouver un lieu

GET /maps/v1/geocode

ParamètreDescription
qObligatoire. Ce qu’il faut trouver, jusqu’à 200 caractères.
nearlat,lng : où se trouve la personne, ou le centre de la carte. Les résultats les plus proches passent en premier, et les catégories (pharmacy, fuel) sont cherchées autour de ce point.
countryUniquement dans ces pays : NG, GH, BJ, TG, GA, CI, LR, GN, SL, GW, SN, CM, BF, CV, séparés par des virgules.
limitDe 1 à 20 résultats ; 8 s’il n’est pas donné.
langen ou fr.
fieldsUniquement ces champs de chaque résultat, séparés par des virgules : name,location. Des réponses plus légères sur les réseaux lents.
cURL
curl "https://nways.ng/maps/v1/geocode?q=Ikeja+City+Mall&near=6.5244,3.3792&limit=3" \
  -H "X-NWays-Api-Key: VOTRE_CLE_API"
JavaScript
import { createClient } from '@nways/maps'

const nways = createClient({ key: process.env.NWAYS_API_KEY })
const { results } = await nways.geocode('Ikeja City Mall', { near: { lat: 6.5244, lng: 3.3792 }, limit: 3 })
const [lng, lat] = results[0].location.coordinates
Python
import os
import requests

res = requests.get(
    "https://nways.ng/maps/v1/geocode",
    params={"q": "Ikeja City Mall", "near": "6.5244,3.3792", "limit": 3},
    headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
    timeout=10,
)
results = res.json()["results"]
200 OK
{
  "results": [
    {
      "id": "osm:w568367632",
      "name": "Ikeja City Mall",
      "type": "landmark",
      "category": "shopping",
      "location": { "type": "Point", "coordinates": [3.357831, 6.61437] },
      "formattedAddress": "Ikeja, Lagos",
      "plusCode": "6FR5J975+P4W",
      "country": "NG",
      "attribution": "© OpenStreetMap contributors, N-Ways"
    }
  ],
  "attribution": "© OpenStreetMap contributors, N-Ways"
}

Champs d’un résultat

ChampDescription
idL’identifiant du résultat. Stable : vous pouvez le garder et rechercher le lieu à nouveau.
nameSon nom, ou l’adresse ou le code tel qu’il a été écrit.
typeCe que c’est : country, state, city, town, suburb, street, address, landmark, business, building, postcode…
categoryPour un commerce ou un repère : pharmacy, petrol, bank… (les catégories de Lieux).
locationUn point GeoJSON : coordinates vaut [longitude, latitude].
formattedAddressOù il se trouve, pour distinguer les lieux : Ikeja, Lagos.
postcode, ghanaPost, plusCodeSon code postal NIPOST, son adresse GhanaPost GPS et son Plus Code, quand ils s’appliquent. Chaque résultat a un Plus Code.
countryNG, GH, BJ, TG, GA, CI, LR, GN, SL, GW, SN, CM, BF ou CV.
bboxPour les zones : [west, south, east, north], pour y ajuster la carte.
distanceMDepuis near, à vol d’oiseau.
estimated, accuracyMLe point est une estimation (un code postal placé d’après les codes voisins), à environ accuracyM mètres près.
placeIdPour un commerce : son identifiant pour les détails du lieu.
attributionLa mention à afficher avec ce résultat.

Les champs qui n’ont rien à dire sont omis, et de nouveaux champs peuvent s’ajouter : ignorez ceux que vous ne connaissez pas. Quand rien ne correspond mais que quelque chose d’approchant existe, la réponse contient didYouMean.

Ce qui se trouve ici (géocodage inverse)

GET /maps/v1/reverse?lat=…&lng=… répond sous une même forme dans les quinze pays : le country et la region (avec leurs noms français), le plusCode du point, une formattedAddress sur une ligne, au Nigeria le postcode NIPOST du bâtiment à portée, au Ghana l’adresse ghanaPost connue la plus proche, et l’adresse, la rue ou le repère nommé le plus proche (nearest) dans un rayon de radius mètres (200 par défaut, de 10 à 1 000).

cURL
curl "https://nways.ng/maps/v1/reverse?lat=6.4474&lng=3.4720" -H "X-NWays-Api-Key: VOTRE_CLE_API"
200 OK (abrégé)
{
  "location": { "type": "Point", "coordinates": [3.472, 6.4474] },
  "plusCode": "6FR5CFWC+XR6",
  "country": { "code": "NG", "name": "Nigeria", "nameFr": "Nigéria" },
  "region": { "code": "NG-LA", "name": "Lagos State", "nameFr": "État de Lagos" },
  "formattedAddress": "12 Admiralty Way, Lekki, Lagos State, Nigeria",
  "postcode": { "code": "LA08A09DB09", "display": "LA 08 A09 DB 09", "entrances": ["…"] },
  "ghanaPost": null,
  "nearest": { "name": "…", "type": "landmark", "distanceM": 6 }
}

Codes postaux NIPOST

Les codes postaux de bâtiment du Nigeria désignent un bâtiment, pas seulement une zone. GET /maps/v1/postcodes/{code} accepte toutes les façons de l’écrire (LA 08 A09 DB 09, la-08-a09-db-09) :

cURL
curl "https://nways.ng/maps/v1/postcodes/LA08A09DB09" -H "X-NWays-Api-Key: VOTRE_CLE_API"

La réponse donne la location du bâtiment, son address quand elle est connue, la forme d’affichage du code (display) et ses components (État, LGA, district, zone, bâtiment, avec les noms de l’État et de la LGA), ainsi que ses entrances : les portails et les portes que les gens utilisent vraiment, les verified en premier. Menez l’itinéraire jusqu’à la première entrée, pas au milieu du bâtiment ; ou donnez { "postcode": "…" } aux Itinéraires, qui le font pour vous. Un code valide que N-Ways n’a pas encore placé revient estimated, d’après les codes voisins, avec accuracyM.

POST /maps/v1/postcodes/batch recherche jusqu’à 100 codes d’un coup (chacun compte pour un appel), pour nettoyer une liste de clients.

Adresses GhanaPost GPS et Plus Codes

cURL
curl "https://nways.ng/maps/v1/ghanapost/GA-183-8164" -H "X-NWays-Api-Key: VOTRE_CLE_API"
curl "https://nways.ng/maps/v1/pluscodes/6FR5J975+P4W" -H "X-NWays-Api-Key: VOTRE_CLE_API"

Une adresse GhanaPost GPS vient d’OpenStreetMap ou de son propriétaire, ou, dans les districts où cela a été vérifié, est estimée d’après les codes cartographiés autour (estimated). N-Ways n’appelle jamais Ghana Post. Une adresse qu’il ne sait pas placer répond 404 GHANAPOST_UNKNOWN : demandez plutôt un repère ou un Plus Code.

Les Plus Codes marchent partout, même là où il n’y a pas d’adresse. Un code court a besoin d’une référence : near=lat,lng, ou une ville après lui (J975+P4 Ikeja).

Codes d’adresse

Chaque concession de ces 12 pays a un code d’adresse N-Ways : le nom de son quartier ou de son village et un numéro court, comme ceux ci-dessous. L’appel de géocodage les comprend tels qu’on les tape, et le guide de chaque pays couvre la recherche, le code d’un point et le décodage hors ligne. Les codes, le moteur et un serveur prêt à l’emploi sont ouverts sur GitHub : vous pouvez aussi les héberger vous-même.

Voir aussi

Les anciennes adresses

Pour les partenaires qui ont commencé avec https://nways.ng/v1/geocode, /v1/reverse, /v1/postcodes et /v1/ghanapost : ces adresses continuent de fonctionner pendant au moins 12 mois, mais leurs réponses peuvent changer avec l’application N-Ways. Passez à /maps/v1, dont les réponses ne font que gagner des champs. Journal des modifications