Documentation du service de calcul d'isochrones
- 1. Généralités
- 2. Interagir avec le service de calcul d’isochrones
- 2.1 Construire une requête
- 3. Réponse du service
- 4. Caractéristiques des règles de calcul pour les itinéraires
Table des matières
Titre
1. Généralités
Le service de calcul d’isochrones/isodistances de la plateforme Géoportail permet de déterminer l’ensemble des lieux que l’on peut atteindre depuis un point de départ ou dont il faut partir pour atteindre un point d’arrivée en un temps (isochrone) ou une distance (isodistance) donné(e). Il retourne la géométrie de la zone calculée.
Le calcul peut être paramétré selon le besoin selon plusieurs options détaillées plus loin dont par exemple :
- la méthode de calcul : distance égale (isodistance) ou temps égal (isochrone)
- le type de véhicule : piéton ou voiture
Les données de référence utilisées au sein du service de calcul d’isochrones/isodistances du Géoportail proviennent de la base de données IGN BD TOPO®.
Le calcul d’isochrones s’appuie sur les mêmes ressources que celles du calcul d’itinéraire. Les ressources de type « PGR » et « ISO » sont utilisées, à savoir "bdtopo-iso" et "bdtopo-pgr". "bdtopo-pgr" se base uniquement sur le nouveau moteur, mais manque de performance sur de grandes isochrones. Elle est en revanche fonctionelle pour de petites isochrones. "bdtopo-iso" se base sur les anciens services à partir d'une certaine distance pour régler les soucis de performance. Nous vous conseillons son utilisation pour les isochrones larges.
Les ressources PGR sont les ressources qui utilisent le moteur PGRouting pour calculer les isochrones. Les ressources ISO sont des ressources plus génériques. Le moteur utilisé pour les calculs varie en fonction de plusieurs paramètres. À l'heure actuelle, le paramètre concerné est costValue, il s'agit du temps demandé ou de la distance demandée.
Titre
2. Interagir avec le service de calcul d’isochrones
On peut interagir avec la version d’évaluation du service du calcul d’isochrones/isodistances via une API REST accessible à l’adresse suivante : https://wxs.ign.fr/essentiels/geoportail/isochrone/rest/1.0.0/isochrone?
La documentation de cette API au format OpenAPI peut être consultée ici.
Les capacités du service (ressources disponibles, paramètres et valeurs autorisées) peuvent aussi être consultées en effectuant la requête suivante : https://wxs.ign.fr/geoportail/isochrone/rest/1.0.0/getCapabilities
Titre
2.1 Construire une requête
Le tableau suivant liste les paramètres disponibles et indique leur utilité pour construire une requête d’isochrones/isodistances. Les détails techniques pour leur implémentation sont donnés dans la documentation OpenAPI du service et les capacités du service. Les paramètres dont le nom est indiqué en gras , sont les paramètres obligatoires.
Paramètre | Signification | Valeur par défaut |
---|---|---|
point | Coordonnées d'une position ponctuelle. C'est le point de départ ou d’arrivée à partir duquel seront faits les calculs. | Sans objet |
resource | Ce paramètre permet de préciser quelle ressource sera utilisée pour le calcul. Actuellement, les ressources de type « ISO » et « PGR » sont disponibles pour l’isochrone. | Sans objet (de préférence utiliser « bdtopo-iso ») |
costValue | Valeur du coût utilisé pour le calcul. On pourra, par exemple, préciser une distance ou un temps, selon le mode de calcul choisi (isodistance ou isochrone). | Sans objet |
costType | Précise le type de calcul qui est fait : « time » (isochrone) ou « distance » (isodistance) | « time » |
profile | Permet de préciser le type « véhicule » effectuant le parcours. Actuellement : « car » (voiture) ou « pedestrian » (piéton) | « car » |
direction |
Sens du parcours. Soit on définit un point de départ (« departure ») et on obtient les points d'arrivée potentiels. Soit on définit un point d'arrivée (« arrival ») et on obtient les points de départ potentiels |
« departure » |
constraints |
Permet d’exprimer des contraintes sur les caractéristiques du réseau routier pour le calcul d’isochrones/isodistances.
Une contrainte s’exprime ainsi : la caractéristique (« key ») du réseau routier sur laquelle elle s’applique. son type : actuellement, un seul : « banned » (exclusion) un opérateur de comparaison Une valeur permettant d’exprimer la contrainte associée à la caractéristique
Exemple : exclure d’emprunter les tronçons de route passant par des tunnels : « key » = « wayType » « type » = « banned » Opérateur de comparaison = « = » Valeur = « tunnel »
L’éventail des contraintes possibles varie selon les ressources. Il est indiqué dans les capacités du service. |
Aucune contrainte |
geometryFormat | Permet de préciser le format dans lequel la géométrie sera retournée : « polyline » (format compressé google) ou « geojson » (format standard) | « geojson » |
crs | Permet de préciser le système de coordonnées dans lequel les géométries sont exprimées (dans les requêtes comme les réponses) : « EPSG:4326 » (longitude, latitude) ou « EPSG:2154 » (lambert 93 valable uniquement en France métropolitaine ) | « EPSG:4326 » |
timeUnit | Permet de préciser l’unité dans laquelle les durées sont exprimées dans la réponse : « hour », « minute » ou « second » | « second » |
distanceUnit | Permet de préciser l’unité dans laquelle les distances sont exprimées dans la réponse : « meter » ou « kilometer » | « meter » |
Exemple de requête en HTTP GET :
La requête suivante effectue un calcul d’isochrone en utilisant la ressource « bdtopo-pgr », pour un profil voiture disposant de 300 secondes, en appliquant la contrainte d’exclure les ponts et demande à ce que la géométrie soit retournée au format « geojson » dans la réponse.
Méthode POST
Les requêtes peuvent aussi être implémentées en méthode POST.
Titre
3. Réponse du service
Si les paramètres le permettent, le service retourne un itinéraire au format JSON comprenant les informations suivantes (selon ce qui a été demandé dans la requête) :
- La ressource utilisée pour le calcul
- Le point de départ ou d’arrivée demandé
- Le profil de véhicule utilisé
- La méthode de calcul (isochrone ou isodistance)
- La valeur utilisée (temps ou distance) pour le calcul
- La direction choisie
- La géométrie (polygone) de l’isochrone/isodistance
- Le système de coordonnées utilisé pour la géométrie
- Les unités utilisées pour exprimer la distance et la durée
- Les contraintes éventuelles utilisées pour le calcul
Exemple de réponse
La réponse du service à la requête précédente est la suivante
{
"point": "2.3614597320556636,48.83043011096251",
"resource": "bdtopo-iso",
"resourceVersion":"2022-03-28",
"costType": "time",
"costValue": "300",
"timeUnit":"second",
"profile": "car",
"crs":"EPSG:4326",
"direction": "departure",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
2.38726511465143,
48.82623558903
],
[
2.38774580339165,
48.82589988688
],
[
2.38879986230739,
48.8251057361793
],
[…]
[
2.38701373406027,
48.8264150746264
],
[
2.38726511465143,
48.82623558903
]
]
]
},
"constraints": [
{
"type": "banned",
"key": "wayType",
"operator": "=",
"value": "pont"
}
]
}
Titre
4. Caractéristiques des règles de calcul pour les itinéraires
Les données de navigation sont issues de la BD TOPO® (réseau routier et table de non communications). Les vitesses moyennes utilisées pour le calcul sont établies à partir des attributs selon les mêmes règles que pour l’ancien service, définies ici : vitesse voiture