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ètre | Description |
|---|---|
q | Obligatoire. Ce qu’il faut trouver, jusqu’à 200 caractères. |
near | lat,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. |
country | Uniquement dans ces pays : NG, GH, BJ, TG, GA, CI, LR, GN, SL, GW, SN, CM, BF, CV, séparés par des virgules. |
limit | De 1 à 20 résultats ; 8 s’il n’est pas donné. |
lang | en ou fr. |
fields | Uniquement 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 "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"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.coordinatesimport 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"]{
"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
| Champ | Description |
|---|---|
id | L’identifiant du résultat. Stable : vous pouvez le garder et rechercher le lieu à nouveau. |
name | Son nom, ou l’adresse ou le code tel qu’il a été écrit. |
type | Ce que c’est : country, state, city, town, suburb, street, address, landmark, business, building, postcode… |
category | Pour un commerce ou un repère : pharmacy, petrol, bank… (les catégories de Lieux). |
location | Un point GeoJSON : coordinates vaut [longitude, latitude]. |
formattedAddress | Où il se trouve, pour distinguer les lieux : Ikeja, Lagos. |
postcode, ghanaPost, plusCode | Son code postal NIPOST, son adresse GhanaPost GPS et son Plus Code, quand ils s’appliquent. Chaque résultat a un Plus Code. |
country | NG, GH, BJ, TG, GA, CI, LR, GN, SL, GW, SN, CM, BF ou CV. |
bbox | Pour les zones : [west, south, east, north], pour y ajuster la carte. |
distanceM | Depuis near, à vol d’oiseau. |
estimated, accuracyM | Le point est une estimation (un code postal placé d’après les codes voisins), à environ accuracyM mètres près. |
placeId | Pour un commerce : son identifiant pour les détails du lieu. |
attribution | La 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 "https://nways.ng/maps/v1/reverse?lat=6.4474&lng=3.4720" -H "X-NWays-Api-Key: VOTRE_CLE_API"{
"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 "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 "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.
- Bénin:
Cadjéhoun 18 07, sur GitHub - Burkina Faso:
Koulouba 17 76, sur GitHub - Cameroun:
Intendance 137, sur GitHub - Cap-Vert:
Palmarejo 12 34, sur GitHub - Côte d’Ivoire:
Bonoumin 61 36, sur GitHub - Gabon:
Louis 12 01, sur GitHub - Gambie:
Bakau 2389, sur GitHub - Guinée:
Hafia 3 · 1230, sur GitHub - Guinée-Bissau:
Bandim 537, sur GitHub - Sénégal:
Ouakam 2512, sur GitHub - Sierra Leone:
Moyamba 157 27, sur GitHub - Togo:
Fréau-Jardin 10 58, sur GitHub
Voir aussi
- Saisie semi-automatique : des suggestions pendant la saisie.
- Validation d’adresse : vérifiez et complétez une adresse avant d’envoyer un livreur.
- Erreurs :
QUERY_REQUIRED,POSTCODE_INVALID,POSTCODE_NOT_FOUND_CHECKet les autres.
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