Mise en œuvre d’un nouveau service
Nous remplaçons notre ancienne API de géolocalisation par un nouveau service appelé l'API Geolocator. L'ancien service cessera de fonctionner le 31 mars 2027. Veuillez passer au nouveau service l'API Geolocator avant cette date.
L'API Geolocator (service de remplacement)
l'API Geolocator est un service de géolocalisation et de géocodage pour les lieux au Canada. Il rassemble des informations provenant de plusieurs ensembles de données ouvertes fiables et fournit des résultats en anglais et en français.
Cette API fonctionne avec le panneau de recherche par géolocalisation GeoView (voir les ressources connexes).
Point de terminaison d’API de base
https://geolocator.api.geo.ca/
Toutes les demandes doivent être effectuées au moyen du protocole HTTPS.
Ce que vous pouvez chercher :
- Noms de lieux (p. ex. villes, villages, lacs ou montagnes);
- Adresses municipales et intersections;
- Préfixes de code postal (trois premiers caractères);
- Numéros de feuille de carte du Système national de référence cartographique (SNRC);
- Coordonnées (latitude et longitude).
Paramètres de demande
| Paramètre | Requis | Description |
|---|---|---|
| q | Oui | Requête de recherche. Il peut s’agir d’un nom de lieu, d’une adresse, d’un code postal, d’une référence au SNRC ou de coordonnées (lat,lon). |
| lang | Non | Langue de réponse : anglais (en) ou français (fr). En anglais par défaut. |
| keys | Non | Liste des sources de données, séparées par des virgules, à interroger. Par défaut, toutes les sources sont sélectionnées. |
Clés prises en charge
| Clé | Description |
|---|---|
| geonames | Base de données toponymiques du Canada (noms de lieux officiels). |
| nominatim | Données sur les lieux et adresses provenant d’OpenStreetMap. |
| locate | Données de géolocalisation de Ressources naturelles Canada. |
| fsa | Régions de tri d’acheminement (préfixes de code postal). |
| nts | Références aux feuillets cartographique du Système de référence cartographique (échelle 1 : 250’000). |
Exemple de demande
Présentation des réponses
Les réponses sont renvoyées en format flat JSON array. Chaque résultat est accompagné d’une clé identifiant sa source.
[
{ "key": "geonames", ... },
{ "key": "nominatim", ... },
{ "key": "locate", ... }
]
Utilisation côté client et CORS
- L’API prend en charge le mécanisme CORS. Il est donc possible de l’utiliser directement dans les sites Web et les ressources de cartographie.
- L’outil est conçu pour être léger et facile à utiliser dans les applications frontales.
Limites d’utilisation et de débit
- L’API est gratuite pour une utilisation typique par le public et le gouvernement et aux fins de recherche.
- L’API utilise des réponses en antémémoire, dans la mesure du possible, afin d’améliorer le rendement.
Pour les cas d’usage de géocodage à volume élevé ou en masse, vous pouvez écrire à l’adresse suivante : geo@nrcan-rncan.gc.ca.
Ressources connexes
-
API de géolocalisation (service obsolète)
L’ancienne API de géolocalisation sera définitivement mise hors service le 31 mars 2027. Après cette date, elle ne fonctionnera plus. Pour continuer à utiliser nos services, passez à la nouvelle solution l'API Geolocator avant cette date.
Note : Veuillez noter que le service est également accessible via le protocole https.
Description
Le service de géolocalisation permet aux utilisateurs d’obtenir la position géographique d’un lieu nommé. Le présent service permet de localiser les éléments suivants :
- des adresses complètes
- des noms de rue
- des intersections
- des lieux situés au Canada tels que les villes, villages, municipalités, parcs, mais aussi des entités géographiques naturelles telles que les lacs, îles, rivières, montagnes, etc.
- des feuillets cartographiques correspondant au système national de référence cartographique (SNRC)
Exemples de requêtes
Le paramètre associé au terme de recherche q supporte les astérisques (*) permettant de rechercher tous les termes débutant par les caractères fournis.
- Adresse complète (sans le code postal) : http://geogratis.gc.ca/services/geolocation/en/locate?q=2144%20King%20W…
- Nom de rue : http://geogratis.gc.ca/services/geolocation/en/locate?q=King%20West%20S…
- Intersection : http://geogratis.gc.ca/services/geolocation/en/locate?q=King%20West%20S…
- Nom de lieu : http://geogratis.gc.ca/services/geolocation/en/locate?q=Sherbrooke,%20QC
- Code postal : http://geogratis.gc.ca/services/geolocation/en/locate?q=J1J
- Numéro SNRC : http://geogratis.gc.ca/services/geolocation/en/locate?q=021e
Paramètres de requête
Les paramètres de requête sont résumés dans le tableau suivant. Toutes les valeurs des paramètres doivent être encodées sous forme d'URL.
Paramètre Description q Terme de recherche. expand Liste des propriétés supplémentaires à inclure dans la réponse. Les propriétés disponibles sont score et component. callback Nom de la fonction de rappel utilisée pour le formatage en mode JSONP (JSON with padding) permettant l'invocation asynchrone du service à partir d’applications hébergées sur des domaines distincts. Recherche générique
Le paramètre associé au terme de recherche q supporte les astérisques (*) permettant de rechercher tous les termes débutant par les caractères fournis.
http://geogratis.gc.ca/services/geolocation/en/locate?q=Otta*
Exemples de réponses
Le service retourne une liste des localisations correspondant au terme demandé, incluant notamment le type de localisation ainsi qu’une géométrie de type ponctuel dont les coordonnées sont exprimées en longitude et latitude. Dans certains cas, une propriété bbox est également incluse et contient les coordonnées géographiques du rectangle englobant (bounding box) de la géométrie correspondant à l’entité nommée. Les résultats sont triés par ordre de pertinence.
La réponse est en format JSON, il est également possible de fournir une valeur au paramètre callback afin d’obtenir une réponse encadrée dans un appel de fonction permettant l'invocation asynchrone du service à partir d’applications hébergées sur des domaines distincts.
[
...
{ "title": "Ottawa, Carleton; Russell, Ontario (City)",
"qualifier": "LOCATION",
"type": "ca.gc.nrcan.geoloc.data.model.Geoname",
"bbox": [-76.3555857, 44.9617738, -75.2465783, 45.5376514],
"geometry": {"type":"Point","coordinates":[-75.58429,45.333389]}
},
...
{
"title": "031G05 OTTAWA",
"qualifier": "LOCATION",
"type": "ca.gc.nrcan.geoloc.data.model.NTS",
"bbox": [-76.0, 45.25, -75.5, 45.5],
"geometry": {"type":"Point","coordinates":[-75.75,45.375]}
},
...
{
"title": "Ottawa Avenue, Brandon, Manitoba",
"qualifier": "INTERPOLATED_CENTROID",
"type": "ca.gc.nrcan.geoloc.data.model.Street",
"geometry": {"type":"Point","coordinates":[-99.9691476,49.8254685]}
},
...
]Fonctionnalités additionnelles
De façon expérimentale, le service propose deux fonctionnalités supplémentaires permettant la suggestion de termes similaires ou le complètement automatique. Ces deux fonctions acceptent uniquement un seul terme à la fois.
Suggestion de termes similaires
La fonctionnalité de suggestion de termes similaires offre la possibilité de rechercher des termes possédant des similitudes phonétiques ou orthographiques avec un terme donné. Les termes retournés sont ordonnés selon la fréquence d'apparition du terme dans l'index. Cependant si le terme recherché existe, il sera suggéré en premier lieu.
http://geogratis.gc.ca/services/geolocation/fr/suggest?q=Sherbrooke
Complètement automatique
La fonctionnalité de complètement automatique offre la possibilité de rechercher des termes débutant par les caractères fournis. Les termes retournés sont ordonnés selon la fréquence d'apparition du terme dans l'index. Cependant si la chaîne de caractères correspond exactement à un terme de l'index, ce terme sera suggéré en premier lieu.
http://geogratis.gc.ca/services/geolocation/fr/autocomplete?q=Sherb