Itinéraires dépréciés
- 1. Généralités
- 2. Connexion au service de calcul d’itinéraire du Géoportail
- 3. Les ressources du service de calcul d’itinéraires
- 4. Le service REST de calcul d’itinéraires
- 4.1 Construire une requête
- 4.2 Réponse du service
- 5. Le service OpenLS de calcul d’itinéraires
- 5.1 Construire une requête
- 6. Les données utilisées
- 6.1 Vitesse voiture
- 6.2 Vitesse piéton
- 6.3 Restrictions sur les points de départ / arrivée du calcul d’itinéraires
- 6.4 Erreurs possibles liées aux données
Table des matières
Titre
1. Généralités
Le service de calcul d’itinéraires de la plateforme Géoportail permet d’obtenir un itinéraire entre deux points selon un profil de parcours particulier.
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 : chemin le plus court ou le plus rapide ;
- la projection employée : elle peut être spécifiée par un code EPSG ;
- le type de véhicule : piéton ou voiture ;
- l’ajout d’étapes intermédiaires.
Les données de référence utilisées au sein du service de calcul d’itinéraires du Géoportail proviennent de la base de données IGN BD TOPO®.
Titre
2. Connexion au service de calcul d’itinéraire du Géoportail
Le service de calcul d’itinéraires du Géoportail est accessible selon deux protocoles : une API REST ou le standard OGC OpenLS “Route Service”.
Selon le protocole utilisé, le service est acessible aux adresses suivantes :
Protocole | URL d’accès |
---|---|
API REST | https://wxs.ign.fr/CLEF/itineraire/rest/route.{format} |
OpenLS | https://wxs.ign.fr/CLEF/itineraire/ols |
Pour l’API REST, les valeurs possibles pour le paramètre {format} sont xml et json et déterminent le format utilisé pour la réponse.
Le paramètre CLEF doit être remplacé par l'une des clés partagées du type "essentiels" ou "experts".
Titre
3. Les ressources du service de calcul d’itinéraires
Nom de la ressource | Nom technique |
---|---|
Isochrones - Piéton | Pieton |
Isochrones - Voiture | Voiture |
Chaque ressource correspond à un profil de vitesses moyennes par type de tronçon de route ou de chemin emprunté.
Titre
4. Le service REST de calcul d’itinéraires
Titre
4.1 Construire une requête
Paramètres
Les paramètres disponibles pour le calcul d’itinéraires sont les suivants:
Exemples
itinéraire piéton de A à B :
http://wxs.ign.fr/CLEF/itineraire/rest/route.json?origin=1.4296871423721542,48.9491452350537&destination=1.8691402673721758,48.80463579895799&&method=DISTANCE&graphName=Pieton
itinéraire voiture avec étapes et exclusion des ponts, tunnels et routes à péage :
http://wxs.ign.fr/CLEF/itineraire/rest/route.json?origin=-0.6756162643432286,45.8786949940647&destination=-0.34465312957759703,46.015243021856286&waypoints=-0.7531642913817732,46.10463169689116;-0.5072164535521702,46.07145125630617&method=DISTANCE&graphName=Voiture&exclusions=Toll;Tunnel
Titre
4.2 Réponse du service
Le retour comporte les éléments suivants :
Itinéraire (routeResult)
Portion d’itinéraire (subRoute)
Les messages d’erreur
Les messages d’erreur sont les suivants :
Titre
5. Le service OpenLS de calcul d’itinéraires
Titre
5.1 Construire une requête
Le service de calcul d’itinéraires est aussi proposé selon le standard OpenLS.
Exemples
Méthode POST
POST http://wxs.ign.fr/CLEF/itineraire/ols
<?xml version="1.0" encoding="UTF-8"?>
<xls:XLS xmlns:xls="http://www.opengis.net/xls" xmlns:gml="http://www.opengis.net/gml"
xmlns:xlsext="http://www.opengis.net/xlsext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/xls http://wxs.ign.fr/schemas/XLS.xsd
http://www.opengis.net/xlsext http://wxs.ign.fr/schemas/XLSEXT.xsd" version="1.2" xls:lang="fr">
<xls:RequestHeader />
<xls:Request maximumResponses="10" methodName="RouteRequest"
requestID="uid1423131241747_360" version="1.2">
<xls:DetermineRouteRequest distanceUnit="M">
<xls:RoutePlan>
<xlsext:GraphName>Pieton</xlsext:GraphName>
<xls:RoutePreference>Shortest</xls:RoutePreference>
<xls:WayPointList>
<xls:StartPoint>
<xls:Position>
<gml:Point>
<gml:pos>45.11933583664174 5.584879517555277</gml:pos>
</gml:Point>
</xls:Position>
</xls:StartPoint>
<xls:EndPoint>
<xls:Position>
<gml:Point>
<gml:pos>45.12757207149061 5.52187979221347</gml:pos>
</gml:Point>
</xls:Position>
</xls:EndPoint>
</xls:WayPointList>
</xls:RoutePlan>
<xls:RouteInstructionsRequest provideGeometry="true" />
</xls:DetermineRouteRequest>
</xls:Request>
</xls:XLS>
Méthode GET
Le corps de la requête POST peut-être encodé et ajouté à l’URL pour utiliser la méthode GET :
http://wxs.ign.fr/CLEF/itineraire/ols?qxml=%3Cxls%3AXLS%20xmlns%3Axls%3D%22http%3A%2F%2Fwww.opengis.net%2Fxls%22%20xmlns%3Agml%3D%22http%3A%2F%2Fwww.opengis.net%2Fgml%22%20xmlns%3Axlsext%3D%22http%3A%2F%2Fwww.opengis.net%2Fxlsext%22%20xmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance%22%20xsi%3AschemaLocation%3D%22http%3A%2F%2Fwww.opengis.net%2Fxls%20http%3A%2F%2Fwxs.ign.fr%2Fschemas%2FXLS.xsd%20http%3A%2F%2Fwww.opengis.net%2Fxlsext%20http%3A%2F%2Fwxs.ign.fr%2Fschemas%2FXLSEXT.xsd%22%20version%3D%221.2%22%20xls%3Alang%3D%22fr%22%3E%3Cxls%3ARequestHeader%20%2F%3E%3Cxls%3ARequest%20maximumResponses%3D%2210%22%20methodName%3D%22RouteRequest%22%20requestID%3D%22uid1423131241747_360%22%20version%3D%221.2%22%3E%3Cxls%3ADetermineRouteRequest%20distanceUnit%3D%22M%22%3E%3Cxls%3ARoutePlan%3E%3Cxlsext%3AGraphName%3EPieton%3C%2Fxlsext%3AGraphName%3E%3Cxls%3ARoutePreference%3EFastest%3C%2Fxls%3ARoutePreference%3E%3Cxls%3AWayPointList%3E%3Cxls%3AStartPoint%3E%3Cxls%3APosition%3E%3Cgml%3APoint%3E%3Cgml%3Apos%3E45.11933583664174%205.584879517555277%3C%2Fgml%3Apos%3E%3C%2Fgml%3APoint%3E%3C%2Fxls%3APosition%3E%3C%2Fxls%3AStartPoint%3E%3Cxls%3AEndPoint%3E%3Cxls%3APosition%3E%3Cgml%3APoint%3E%3Cgml%3Apos%3E45.12757207149061%205.52187979221347%3C%2Fgml%3Apos%3E%3C%2Fgml%3APoint%3E%3C%2Fxls%3APosition%3E%3C%2Fxls%3AEndPoint%3E%3C%2Fxls%3AWayPointList%3E%3C%2Fxls%3ARoutePlan%3E%3Cxls%3ARouteInstructionsRequest%20provideGeometry%3D%22true%22%20%2F%3E%3C%2Fxls%3ADetermineRouteRequest%3E%3C%2Fxls%3ARequest%3E%3C%2Fxls%3AXLS%3E
NB : la balise xlsext:GraphName est un ajout à la norme OpenLS et permet de spécifier le véhicule utilisé (Piéton ou Voiture). Si elle n’est pas précisée, c’est la valeur Voiture qui sera utilisée.
Titre
6. Les données utilisées
Le graphe est dérivé de la BD TOPO de l’IGN, apparié sur la BD CARTO pour certains éléments. Il est disponible sur la France entière, Départements et Régions d’Outre-Mer inclus. Au 1er septembre 2018, il est basé sur l’édition 17.2 du printemps 2018.
Titre
6.1 Vitesse voiture
Le graphe Voiture est compilé avec les paramètres suivants : Pour les véhicules automobiles, les calculs sont basés sur les champs NATURE et IMPORTANCE de la BD TOPO® comme suit :
Hors zone urbaine BD CARTO :
- NATURE = ‘Autoroute’ & IMPORTANCE = ‘1’ –> 125 km/h
- NATURE = ‘Autoroute’ & IMPORTANCE = ‘2’ –> 115 km/h
- NATURE = ‘Autoroute’ & IMPORTANCE = ‘3’ –> 100 km/h
- NATURE = ‘Bac auto’ & IMPORTANCE = ‘2’ –> 5 km/h
- NATURE = ‘Bac auto’ & IMPORTANCE = ‘3’ –> 5 km/h
- NATURE = ‘Bac auto’ & IMPORTANCE = ‘4’ –> 5 km/h
- NATURE = ‘Bac auto’ & IMPORTANCE = ‘5’ –> 5 km/h
- NATURE = ‘Bac piéton’ & IMPORTANCE = ‘NC’ –> 0 km/h
- NATURE = ‘Bretelle’ & IMPORTANCE = ‘1’ –> 45 km/h
- NATURE = ‘Bretelle’ & IMPORTANCE = ‘2’ –> 45 km/h
- NATURE = ‘Bretelle’ & IMPORTANCE = ‘3’ –> 45 km/h
- NATURE = ‘Bretelle’ & IMPORTANCE = ‘4’ –> 45 km/h
- NATURE = ‘Bretelle’ & IMPORTANCE = ‘5’ –> 30 km/h
- NATURE = ‘Bretelle’ & IMPORTANCE = ‘NC’ –> 0 km/h
- NATURE = ‘Chemin’ & IMPORTANCE = ‘5’ –> 1 km/h
- NATURE = ‘Chemin’ & IMPORTANCE = ‘NC’ –> 0 km/h
- NATURE = ‘Escalier’ & IMPORTANCE = ‘NC’ –> 0 km/h
- NATURE = ‘Piste cyclable’ & IMPORTANCE = ‘NC’ –> 0 km/h
- NATURE = ‘Piste cyclable’ & IMPORTANCE = ‘NC’ –> 0 km/h
- NATURE = ‘Quasi-autoroute’ & IMPORTANCE = ‘1’ –> 105 km/h
- NATURE = ‘Quasi-autoroute’ & IMPORTANCE = ‘2’ –> 100 km/h
- NATURE = ‘Quasi-autoroute’ & IMPORTANCE = ‘3’ –> 95 km/h
- NATURE = ‘Quasi-autoroute’ & IMPORTANCE = ‘5’ –> 90 km/h
- NATURE = ‘Route à 1 chaussée’ & IMPORTANCE = ‘1’ –> 67 km/h
- NATURE = ‘Route à 1 chaussée’ & IMPORTANCE = ‘2’ –> 67 km/h
- NATURE = ‘Route à 1 chaussée’ & IMPORTANCE = ‘3’ –> 63 km/h
- NATURE = ‘Route à 1 chaussée’ & IMPORTANCE = ‘4’ –> 58 km/h
- NATURE = ‘Route à 1 chaussée’ & IMPORTANCE = ‘5’ –> 35 km/h
- NATURE = ‘Route à 1 chaussée’ & IMPORTANCE = ‘NC’ –> 0 km/h
- NATURE = ‘Route à 2 chaussées’ & IMPORTANCE = ‘1’ –> 80 km/h
- NATURE = ‘Route à 2 chaussées’ & IMPORTANCE = ‘2’ –> 75 km/h
- NATURE = ‘Route à 2 chaussées’ & IMPORTANCE = ‘3’ –> 70 km/h
- NATURE = ‘Route à 2 chaussées’ & IMPORTANCE = ‘4’ –> 70 km/h
- NATURE = ‘Route à 2 chaussées’ & IMPORTANCE = ‘5’ –> 65 km/h
- NATURE = ‘Route à 2 chaussées’ & IMPORTANCE = ‘NC’ –> 0 km/h
- NATURE = ‘Route empierrée’ & IMPORTANCE = ‘2’ –> 10 km/h
- NATURE = ‘Route empierrée’ & IMPORTANCE = ‘3’ –> 10 km/h
- NATURE = ‘Route empierrée’ & IMPORTANCE = ‘4’ –> 10 km/h
- NATURE = ‘Route empierrée’ & IMPORTANCE = ‘5’ –> 10 km/h
- NATURE = ‘Route empierrée’ & IMPORTANCE = ‘NC’ –> 0 km/h
- NATURE = ‘Sentier’ & IMPORTANCE = ‘5’ –> 0 km/h
- NATURE = ‘Sentier’ & IMPORTANCE = ‘NC’ –> 0 km/h
En zone urbaine BD CARTO :
- NATURE = ‘Autoroute’ & IMPORTANCE = ‘1’ –> 100 km/h
- NATURE = ‘Autoroute’ & IMPORTANCE = ‘2’ –> 95 km/h
- NATURE = ‘Autoroute’ & IMPORTANCE = ‘3’ –> 90 km/h
- NATURE = ‘Quasi-autoroute’ & IMPORTANCE = ‘1’ –> 95 km/h
- NATURE = ‘Quasi-autoroute’ & IMPORTANCE = ‘2’ –> 90 km/h
- NATURE = ‘Quasi-autoroute’ & IMPORTANCE = ‘3’ –> 85 km/h
- NATURE = ‘Quasi-autoroute’ & IMPORTANCE = ‘5’ –> 70 km/h
- NATURE = ‘Route à 1 chaussée’ & IMPORTANCE = ‘1’ –> 50 km/h
- NATURE = ‘Route à 1 chaussée’ & IMPORTANCE = ‘2’ –> 50 km/h
- NATURE = ‘Route à 1 chaussée’ & IMPORTANCE = ‘3’ –> 45 km/h
- NATURE = ‘Route à 1 chaussée’ & IMPORTANCE = ‘4’ –> 40 km/h
- NATURE = ‘Route à 1 chaussée’ & IMPORTANCE = ‘5’ –> 30 km/h
- NATURE = ‘Route à 2 chaussées’ & IMPORTANCE = ‘1’ –> 50 km/h
- NATURE = ‘Route à 2 chaussées’ & IMPORTANCE = ‘2’ –> 50 km/h
- NATURE = ‘Route à 2 chaussées’ & IMPORTANCE = ‘3’ –> 45 km/h
- NATURE = ‘Route à 2 chaussées’ & IMPORTANCE = ‘4’ –> 40 km/h
- NATURE = ‘Route à 2 chaussées’ & IMPORTANCE = ‘5’ –> 35 km/h
Titre
6.2 Vitesse piéton
Pour les piétons, les calculs sont basés sur les critères suivants :
- NATURE = ‘Autoroute’ & IMPORTANCE = ‘1’ –> 0 km/h
- NATURE = ‘Autoroute’ & IMPORTANCE = ‘2’ –> 0 km/h
- NATURE = ‘Autoroute’ & IMPORTANCE = ‘3’ –> 0 km/h
- Autres axes –> 4 km/h
Titre
6.3 Restrictions sur les points de départ / arrivée du calcul d’itinéraires
Le calcul d’itinéraires routier débute et se termine par “accrochage” au segment le plus proche, dès lors que celui-ci n’est pas classé comme autoroute, tunnel ou pont.
Titre
6.4 Erreurs possibles liées aux données
La collecte des sens de circulation ne fait pas partie de consignes de saisie des référentiels vecteur entretenus par l’IGN. Historiquement, un grand nombre de sens de circulation sont disponibles puisqu’ils ont été conservés de la BD Géoroute®. Pour leurs propres besoins, les collecteurs ont pris l’habitude d’entretenir ceux existants lors de la cueillette sur le terrain. En outre, certains partenaires intéressés par cette information nous la font remonter dans le cadre d’une convention. De ce fait, en termes de navigabilité automobile, le service ne remplace pas un système de guidage embarqué avec indication des directions. Globalement le calcul résultant reste acceptable et donne au moins une bonne approximation du trajet final, ou assurer un calcul prévisionnel de trajet en tant qu’aide pour une étude plus approfondie basée sur ce résultat.
Certaines des erreurs sont détaillées ci-après :
Erreur de codage des sens sur les bretelles d’accès
Mauvais codage des sens sur une bretelle dans la BDUni
Un premier cas provient du mauvais codage d’un sens unique sur une bretelle. Ces cas sont rares mais sont pénalisants, d’autant plus que :
i. localement le résultat fait clairement apparaître l’erreur, ii. cela peut induire de grosses différences sur le calcul global (raccrochement à la sortie suivante de l’autoroute)
Mauvais codage d’un pont
Normalement, les ponts ne sont pas découpés par les arcs qui passent en dessous. Il n’y a donc pas de connexion. Cependant, il arrive que certains soient découpés. Il y a alors connexion et il est possible de descendre de l’autoroute sur la route du dessous ou faire demi-tour sans passer par une bretelle, du moins au sens de la BD car dans la réalité, c’est plus compliqué.
Un pont mal codé (découpé par la route du dessous) peut induire des connexions avec la route du dessous.
Itinéraire démarrant ou finissant sur un pont, une autoroute ou un tunnel
Il est actuellement impossible de projeter les points sur les ponts, autoroutes ou tunnels, par conséquent aucun itinéraire ne peux commencer ou finir sur ces parties du trajet.
Cas des carrefours en baïonnettes
Lorsque deux rues arrivent presque en face l’une de l’autre la BDUni conserve le décalage (en forme de baïonnette). Or lorsque le décrochement est faible (quelques mètres), il est possible de prendre la rue « en face » et l’automobiliste a l’impression « d’aller tout droit ». Ceci ne porte pas à conséquence sur le calcul sauf lorsque la rue qu’on croise est à sens unique. Dans ce cas, la BDUni reporte le sens unique sur la petite portion du tronçon de la baïonnette, ce qui ne permet plus la communication.
Mauvais codage d’un rond-point
Rond-point tournant à l’envers dans la BDUni
Cas des demi-tours
Peut-on vraiment faire demi-tour sur ce carrefour ?
Accessibilité piéton
L’IGN ne peut pas garantir que l’ensemble des routes empruntées par un calcul d’itinéraire piéton comportent un trottoir et recommande que les développeurs incluent des messages d’avertissement à cet effet. La navigation piéton exclut cependant les voies classées comme autoroutes.
Point sur les vitesses
Les vitesses utilisées sont estimées à partir des différents attributs et le cas échéant en croisant avec les zones urbaines. Même si ce ne sont pas les vitesses terrains, l’approximation reste réaliste ainsi que le chemin renvoyé. Globalement le calcul résultant reste acceptable et donne au moins une bonne approximation du trajet final.