FR:Calcul d'itinéraires

From OpenStreetMap Wiki
Jump to navigation Jump to search

broom

Help (89606) - The Noun Project.svg

Skobbler Navigation (application de navigation étape par étape pour iOS)

Les services de routing (dits de navigation ou de calcul d'itinéraires dans certains pays) aident les personnes à se rendre d'un lieu à un autre. Les données d'OpenStreetMap comprennent des informations pour la planification d'itinéraire suivant divers modes de déplacement, entre autres, en automobile, à pied, à vélo ou à cheval. Il existe de nombreux services de navigation hors ligne, en ligne et sur le web qui font usage des données d'OpenStreetMap.

Les développeurs trouveront aussi sur cette page des informations sur les éléments logiciels disponibles pour la création de nouvelles applications/déploiements de routing ainsi que des détails sur des données essentielles d'OpenStreetMap susceptibles d'être exploitées pour la création de moteurs de routage améiorés. Une série de listes de diffusion est également fournie.

Utilisateurs : logiciels d'aide à la navigation et de calcul d'itinéraires

Voir aussi : List of OSM based Services#Routing

Services en ligne

Tableau de comparaison de quelques services en ligne de calcul d'itinéraires[1]
Fonctionnalités Services
Informations sur le service OpenRouteService YOURS Cloudmade
Couverture cartographique Europe seulement Mondiale Mondiale
Open source routing-engine[2] oui non
Garantie de service 99% non 99.9%
Mise à jour des données routières Tous les mardis N/A Hebdomadaire
Par mode de transport
Voiture (le plus rapide) oui oui oui
Voiture (le plus court) oui oui oui
Vélo (le plus rapide) oui oui non
Vélo (le plus court) oui non oui
Vélo (le plus sûr) oui non non
Piéton oui oui oui
Fauteuil roulant non [3] non non
Options de routage avancées
Restrictions dans les changements de direction non[4] partiel partiel
Limites de poids non non non
Limites de hauteur non non non
Itinéraires avec étapes oui non[3] oui
Vitesse du véhicule paramétrable non non non
Indication des zones à éviter oui non non
Évitement de certains types de route oui non non
Prise en compte du relief non[3] non non
Trafic en temps réel partiel[5] non non
Itinéraires sur l’eau par ferry oui oui non[3][1]
Interface utilisateur
Plan de route oui non[3] oui
Plusieurs langues (instructions) oui non[4] API only[4][6]
Permalink pour envoyer l'itinéraire par email oui oui oui
Téléchargement GPX oui oui oui
Téléchargement KML depuis le serveur non non
Téléchargement JSON non non oui
Profil altimétrique de l'itinéraire oui[7] oui non

Programmes

  • pyroute can route for different types of vehicle (bike, foot, etc), uses A* with weightings, and has a basic GUI
  • Rana is based on pyroute
  • pgRouting ([2]) main objective is to provide routing functionality to PostGIS / PostgreSQL. pgRouting is part of PostLBS, which provides core tools for Location Based Services (LBS) as Open Source Software (OSS).
  • Loadstone for Symbian devices (Loadstone is not an online routing software! It is for Symbian OS mobile devices. It does not download any files while routing, but you can import files from the OpenStreetMap to Loadstone converter.)
  • AndNav ([3]) for Android devices
  • FR:opensatnav.org Projet ayant pour but de créer une application de navigation libre pouvant être utilisée sur les téléphones Android (G1+), et éventuellement Openmoko

Cartographes : amélioration des données cartographiques

Pour que les logiciels d'itinéraire fonctionnent correctement, les données cartographiques sous-jacentes doivent être de bonne qualité. Cela signifie essentiellement que celles devant être connectées le sont effectivement, les sens uniques y sont inscrits, les restrictions de tourner sont indiqués, etc. Vous devriez être familier avec les Map Features utilisées, en particulier consulter OSM tags for routing pour comprendre les étiquettes spécifiques au routage.

Correction des bogues avec MapDust

Démonstration de la manière d'identifier les noeuds connectés et non connectés dans Potlatch

Beaucoup de bogues sur MapDust ont été proviennent directement des applications de navigation iOS ou Android. Ceci en fait un bon endroit pour rechercher des améliorations de données cartographiques. Certains bogues concernent spécifiquement les routes à sens unique ou les interdictions de tourner, et sont marquées comme telles.

Portez attention aux nombreux "réseaux routiers de faible qualité" ou "autres" bogues au sein du petite zone puisque cela peut indiquer qu'il existe des connexions manquantes entre les routes. Dans Potlatch, lorsque vous sélectionnez une voie, vous observez l'ensemble des noeuds mis en avant. Si un noeud est grand et carré alors il est connecté à un autre chemin. Pour améliorer la qualité des données OSM, vous pouvez également utiliser les rapports générés par WayCheck.

Note : essayez de décocher le "Hide bugs with default text" sur mapdust car beaucoup d'utilisateurs ne modifient pas le texte par défaut lors de l'utilisation de l'application de navigation.

Données de vitesse limite

Afin de mieux calculer l'itinéraire le plus rapide, veuillez réfléchir à l'éventualité d'aide d'ajout des données de vitesse via la balise maxspeed=*. Ceci est particulièrement important quand la limite de vitesse diffère de la vitesse permise maximum autorisée pour le type de route par pays et type de véhicule.

Note : quelques services aident à identifier les limites de vitesse manquantes.

Souvent la vitesse limite inutile - confère #Average speed.

Vérification de vos corrections

Après avoir corrigé une erreur sur la carte, vous devrez attendre la propagation de la version révisée de la carte au sein du moteur de routage que vous utilisez. Ce délai dépendra de chaque moteur pour ce qui concerne :

  • la fréquence à laquelle le moteur récupère les mises à jour à partir de la base de données ;
  • le temps nécessaire au moteur pour mettre à jour sa base de données interne.

Si OSRM est utilisé pour la page d'affichage de la carte, il effectue habituellement ces mises à jour 2 fois par jour et ensuite passe 10-12 heures au traitement des mises à jour. Ceci nous amène à une durée totale de 10 à 24 heures à partir du moment où la carte est sauvegardée jusqu'à ce qu'elle devienne exploitable sous OSRM.

Développeurs

Cette image Roads to rome a été réalisée à l'aide de GraphHopper.

Logiciel de bureau ou hébergé sur serveur

C/C++
C#
Java
  • The Traveling salesman routing-application contains the osmNavigation -library for doing all the basics except a user-interface. All important parts can be exchanged via plugins.
  • OpenTripPlanner site is a multi-modal trip planner supporting OSM data. OTP Deployer makes it easy to deploy your own routing instance.
  • GraphHopper is an open source routing engine for road networks written in Java. Fast and memory efficient (for Android, iOS, desktop and server).
  • BRouter focuses on bike routing and features elevation awareness, alternatives, fully configurable routing profiles and offline routing initially written for Android, but has now also a web api
  • Cruiser is a map and navigation application.
Python
Ruby
  • Mormon, version ruby de pyroutelib
Scala

Logiciel pour appareils mobiles

C/C++/Java
  • OsmAnd OSM Map, POI and Routing (car/bike/foot, online&offline) for Android
  • ZANavi Android
  • Navit Linux, Windows and portable devices
  • GraphHopper Open Source routing library for Desktop, Android and iOS.
  • BRouter focuses on bike routing and features elevation awareness, alternatives, fully configurable routing profiles and offline routing for Android
  • OpenTripPlanner_(Android) is an Android app for multi-modal trip planning using any OpenTripPlanner server
  • Cruiser is a map and navigation application.

Bibliothèques / Outils de développement

Article principal : Frameworks#Navigation

Libraries focused on OSM Routing can be found at Develop/Frameworks. Here some general libs:

  • DGLib Directed Graph Library used by Grass's vector network tools (shortest path, traveling salesman, isodistances, Steiner trees; also Addons)
  • Graphserver is a webservice providing shortest-path itineraries on TIGER/line road maps, and public transport data in the General Transit Feed Specification format
  • osm4routing is a command-line tool for parsing OSM data into a routing graph.
  • pgRouting - PostGIS-based routing engine. Special tool osm2pgrouting for importing OSM data to internal graph structure. Works directly on top of SQL database tables.
  • Libosmscout offers simple, high-level interfaces to offline rendering and routing functionalities based on OpenStreetMap data
  • Spatialite Spatialite has its own routing engine VirtualNetwork and a spatialite_osm_net tool for building a routable network directly from OSM data. Routing can use either Dijkstra or A* algorithm.
  • GraphHopper routing engine with Java API.
  • ffwdme.js is a JavaScript toolkit that aims to bring interactive GPS driving directions to the mobile browser.
  • Valhalla is a free, open-source routing service that lets you integrate routing and navigation into a web or mobile application.

Protocoles :

Éléments à prendre en compte pour déterminer des itinéraires

Classification de la voirie

The order of values for the highway-tag ordered by assumed speed is:

Type Description (valide principalement en Europe occidentale)
motorway Usually the maxspeed can be kept for long distances, but these roads can be sensitive to long traffic jams. Usually forbidden for slow traffic (pedestrians, cyclists, agricultural, ...)
trunk Similar to motorways, but these roads can have level crossings, so the stretches where the maximum speed can be reached are shorter. Best avoided when using slow vehicles (sometimes forbidden, depending on the local legislation).
primary Connecting roads between cities, towns and villages. The classification depends mostly on the importance of the areas they connect. This is often also reflected in the number of lanes and the general traffic throughput, but the speed for these classifications is mostly comparable. Usually around 90-100 km/h in the countryside, and 50 (or even 30) km/h when crossing a residential center.
secondary
tertiary
motorway_link Used for on- and off-ramps or complete motorway junctions. Reachable speed depends a lot on curvature, usually around 60-90 km/h
trunk_link In contrast to motorway junctions, these link roads are often very short pieces (f.e. allowing one to turn right without stopping at a traffic light). The speed on these road pieces is very slow, as these often need to give way to the other traffic.
primary_link
secondary_link
tertiary_link
unclassified These roads usually connect farms, isolated houses and small hamlets through the countryside to bigger residential areas. Due to lack of traffic signs, they often have a speed limit way faster than can be driven safely. Speed on a well-maintained but unfamiliar unclassified road will rarely exceed 50 km/h.
residential Residential roads are found in a residential area, so usually have a speed limit of 50 km/h to 30 km/h, with a lot of traffic calming features.
living_street Living streets are streets where slow traffic has absolute right-of-way. The speed limit is normally around 20 km/h. Through-going traffic is absolutely discouraged (and often impossible).
service Service roads are usually found on private property or parking lots. The driver has to pay attention to manoeuvring vehicles, and must wait often.
track Tracks are roads of agricultural purpose. They usually connect fields to farms. The surface sometimes makes them inaccessible for regular cars, or at least limits the speeds to a very slow pace. Tracks should always be avoided for through-going traffic.
pedestrian Pedestrian roads are normally forbidden for motorised vehicles, but can be allowed on certain hours (f.e. early in the morning), or for certain purposes (like delivering goods to shops). Even when allowed, only pedestrian speed is advisable. Cycling can also be forbidden on pedestrian highways.

This is highly country specific and rather useless without country specific values. For example in Germany primary roads allow 100km/h both legally and as a realistic speed while minor motorway_link(s) are built to allow a recommended speed of 60 km/h, only major motorway_links allow a realistic speed of 80 or 100. For more information see OSM_tags_for_routing/Maxspeed#Additional_information_for_selected_countries

Voies de circulation

The number of lanes of a highway is directly tagged in OSM and has a major influence on the average speed (fastest route) and fuel-consumption (most efficient route). There is no simple mapping to speed unfortunately, in many cases more lanes only indicate more congestion.

État des routes

Other factors, in our case more difficult to measure, which determine the average speed are the width of pavement, condition of the network (roadworks, surface type and surface smoothness - especially in ex-USSR), Levels of Service (LOS), minimal radius curve, banked turns, visibility based on curves and gradients, etc.

In OpenStreetMap this model can be interesting for those routes where there are no data on speeds (for example: highway=road).

Inclinaison

Same as curves, inclines may decrease the speed of traffic. In winter of when lots of hgv is present the hindrance is also on the descending way. While some inclines are explicitly tagged, in some cases utilization of additional informations such as ele=* and height elevation profile from DEM data could prove useful.

Sinuosité
Voir aussi turning radius=*

In some studies about the accessibility [5] develop models that assume a certain speed of travel depending on the degree of sinuosity of the track and certain characteristics of this one. By means of the sinuosity index (observed line distance/expected line distance ) for every section it is possible to obtain a speed estimated according to the degree of winding of the road and type of route. This needs to take into account the visibility around corners (determined by vegetation, embankments, cuttings, cliffs,...) and road width. The model is more precise if the excessively large arcs are avoided provided that a long curve can be equal to many small curves along a way, giving similar values of sinuosity for both routes. Some countries use these values to divide sections of roads and put speed limits (but this is not usual).

On the other hand, geographical approaches like that of the space syntax presuppose that, in urban environments, pedestrians and drivers are influenced at the moment of choosing theirs paths for the visibility of the route. In this respect a pedestrian who moves, for example, from the point A to the point B will select principally wide and rectilinear streets, squares or avenues with a wide visual field, avoiding crossed by winding and narrow streets, even when the latter route is somewhat shorter.

Passages piétons ou à niveau, jonctions et carrefours, changements de voies

Certain cost should be assumed for:

  • crossing higher-class roads
  • changing to and from lower-class roads
  • u-turns
  • lane changes

Vitesse moyenne

OpenStreetMap data will need average/realistic speed values for routing.

  • maxspeed:practical=* is a rejected but nevertheless used proposal to tag estimated average speed values (with the possibility to specify day/night/rush hour values) in areas where official speed limits are largely meaningless and road/track type information insufficient to derive meaningful travel speed estimates.
  • Speedcollector is a currently defunct service to collect real-world measurements, while it might be possible to derive average speed per way from stored tracks.
  • Global Statistical Speed Matrix is a proposed concept (no current signs of life?) to extract speed information from NMEA/GPX tracks and store them efficiently in a database to make collected data useful for routing purposes.

Liste d'autres attributs donnant des indications d'itinéraires

En vélo

- see also hiking

En randonnée

Obstacles à la navigation et autres conditions demandant une considération spéciale

Notes et références

  1. Adapté depuis OpenRouteService#Route Service Comparison Matrix
  2. In the edited GeoTools version.
  3. 3.0 3.1 3.2 3.3 3.4 Prévu.
  4. 4.0 4.1 4.2 En dévelopment.
  5. Traffic Message Channel (TMC) (Allemagne : seulement en Rhénanie du Nord et en Bavière).
  6. See instructions for submitting a localization. Localizations currently include Deutsch, Chinese, Russian, Romanian, Dutch and Vietnamese.
  7. Seulement en Allemagne.

Voir aussi

Listes de diffusion

Quelques listes de diffusion OSM appropriées pour discuter des procédés et données servant à déterminer des itinéraires :

  • osm-routing – Discussion générale concernant les itinéraires basés sur les données vectorielles (notamment les données OSM).
  • osm-accessibility – Pour toutes sortes de handicaps, ceci concerne les propositions et usages d'attributs qui sont d'intérêt particulier pour les personnes handicapées. Des cartes spéciales mieux adaptées devraient être créées avec ces données.

Liens externes

Articles connexes

Généralités
  • Attributs OSM pour itinéraires – Quelles données stockées dans OpenStreetMap pouvons-nous utiliser pour déterminer un itinéraire ?
  • Routing problems – Existe-t-il des problèmes qui ne peuvent pas être résolus par un itinéraire de moindre coût ? Avons-nous des suggestions pour résoudre ces problèmes ?
  • Routing profiles – Quelles catégories de personnes veulent générer des itinéraires, et quels sont leurs besoins spécifiques ? Quels poids devrions-nous utiliser quand un 'cheval effrayé par les lumières ou le bruit du traffic mais qui aime marcher dans la forêt' demande un itinéraire ? Comment choisissons-nous la meilleure route pour un cycliste avec les pneux à plat et dans lumière la nuit ?
Par mode de transport
Accessibilité
  • LoroDux – Itinéraires pédestres sur appareils mobiles pour aveugles et déficients visuels
  • Rollstuhlfahrer-Routing – Projet allemand d'itinéraires en fauteuil roulant
Divers
  • TIGER fixup – Projet de correction des itinéraires aux États-Unis, en commençant par le réseau de base des routes inter-États : 250 villes