SlideShare une entreprise Scribd logo
OSRMOpen Source Routing Engine
Utilisation avancéeSotM-FR 2018
2018-06-02
Frédéric Rodrigo – frederic@mapotempo.com – CC-By-Sa 3.0
@fre2d@twitter.com - @fre2d@unixcorn.xyz
Fonctionnalités
● Itinéraire A→(B)→ C
● Distancier A,B,C…→A,B,C...
● Map Matching, retrouver un itinéraire depuis un
GPX
a b c d e f
a 0 184 222 177 216 213
b 184 0 45 123 128 200
c 222 45 0 129 121 203
d 177 12 129 0 46 83
e 216 128 121 46 0 83
f 231 200 203 82 82 0
Moteur multi-algorithmes
→ Recherche du parcourt à coût minimal
● Contraction de Hiérarchies (CH)
● Multi-Level Dijkstra (MLD)
● Dijkstra / A*
Algorithmes - Temps
Durée requête
Durée
préparation
CH
MLDs
A*
Processus
Profil
Extraction (re-)Préparation
Customisation
avec data
Trafic temps réel*
.osrm.tmp
(re-)Chargement
Données statiques
landuse
zone de conduite à droite
Nouveautés
● Injection du trafic en temps réel
– Le temps de préparation doit être faible
● Annotation : classes pour les segments d’itinéraires : payant,
accès restreint...
● Exclusion de classes : ne pas prendre l’autoroute, les féries...
– Duplication des données et de la préparation
● Relations OSM supporté dans le préprocessing
● Propriétés par polygone
– Conduite à gauche
– Valeur par défaut de maxheight
● Arriver du bon coté de la voie
● Arriver au carrefour le plus proche
Services dérivées
● Isochrone
● Nature des zones traversées et types de voies
Profil maison
Densité Urbaine
● Faute de données trafic
● Utilisation des landuse de CLC pour influencer
le profil de vitesses
– Urbain dense
– Urbain
– Inter-urbain
Profil maison
Au plus court (mais pas trop)
● Payer des indemnités kilométriques
● Mais on ne veut quand même pas passer par
des chemins ou l'on roule à 5km/h !
→ Pénalité de la voie
– fonction de la distance
– Fonction de la vitesse
Profil maison
Poids-lourds « malin » - Problème
● Manque de données restriction PL dans OSM
● Modélisation inadapté au restriction de zones
– Limitation livraison centre ville
– Interdiction de traverser une ville aux PL
● Limitations conditionnelles
– motor_vehicle:conditional=delivery @ (weight>5)
– access:conditional=destination @ (Mo-Fr 08:00-17:00)
Profil maison
Poids-lourds « malin » - Solution
● Limitations physiques
– Hauteur
– Largeur
→ respect strict : ça passe ou ça casse
● Limitation légale
– Poids
– Longueur
→ éviter de passer : pénalité sur la voie
● Rester sur les grands axes
– Pénaliser les petits axes
OSRM & Mapotempo
● osrm-profiles-contrib
● osrm-isochrone-server
● router-wrapper
– Unifier plusieurs « variables »
● au plus rapide / au plus court
● Voiture / à pied / vélo / PL
– Unifier plusieurs moteurs de calculs
● OSRM
● OpenTripPlanner (transport en commun)
● ...

Contenu connexe

Plus de Frédéric Rodrigo

OSXP 2021 - MAKINA MAPS
OSXP 2021 - MAKINA MAPSOSXP 2021 - MAKINA MAPS
OSXP 2021 - MAKINA MAPS
Frédéric Rodrigo
 
Cartography: Vector Tiles From an Open Initiative To an Industry Standard
Cartography: Vector Tiles  From an Open Initiative To an Industry StandardCartography: Vector Tiles  From an Open Initiative To an Industry Standard
Cartography: Vector Tiles From an Open Initiative To an Industry Standard
Frédéric Rodrigo
 
Osmose-QA, OpenData, Mapillary and MapCSS
Osmose-QA, OpenData, Mapillary and MapCSSOsmose-QA, OpenData, Mapillary and MapCSS
Osmose-QA, OpenData, Mapillary and MapCSS
Frédéric Rodrigo
 
Automatic Enhancement of Pedestrian Route using extracted Landmarks from OSM
Automatic Enhancement of Pedestrian Route using extracted Landmarks from OSMAutomatic Enhancement of Pedestrian Route using extracted Landmarks from OSM
Automatic Enhancement of Pedestrian Route using extracted Landmarks from OSM
Frédéric Rodrigo
 
Annoter automatiquement un itinéraire piéton avec des repères issus d'OSM
Annoter automatiquement un itinéraire piéton avec des repères issus d'OSMAnnoter automatiquement un itinéraire piéton avec des repères issus d'OSM
Annoter automatiquement un itinéraire piéton avec des repères issus d'OSM
Frédéric Rodrigo
 
Open Traffic
Open TrafficOpen Traffic
Open Traffic
Frédéric Rodrigo
 
Osmose-QA
Osmose-QAOsmose-QA
OSRM - Open Source Routing Machine
OSRM - Open Source Routing MachineOSRM - Open Source Routing Machine
OSRM - Open Source Routing Machine
Frédéric Rodrigo
 
Addok, BAN et BANO dans un bateau
Addok, BAN et BANO dans un bateauAddok, BAN et BANO dans un bateau
Addok, BAN et BANO dans un bateau
Frédéric Rodrigo
 
Osmose-QA
Osmose-QAOsmose-QA
Osmose-QA OpenData
Osmose-QA OpenDataOsmose-QA OpenData
Osmose-QA OpenData
Frédéric Rodrigo
 
20150607 sotm-us-osmose-qa
20150607 sotm-us-osmose-qa20150607 sotm-us-osmose-qa
20150607 sotm-us-osmose-qa
Frédéric Rodrigo
 
Mapotempo
MapotempoMapotempo
Osmose : la conquête du monde
Osmose : la conquête du mondeOsmose : la conquête du monde
Osmose : la conquête du monde
Frédéric Rodrigo
 
5/5 Osm 20141118-l2.3-réutilisation
5/5 Osm 20141118-l2.3-réutilisation5/5 Osm 20141118-l2.3-réutilisation
5/5 Osm 20141118-l2.3-réutilisation
Frédéric Rodrigo
 
4/5 Osm 20141118-l2.2-collecte et contribution
4/5 Osm 20141118-l2.2-collecte et contribution4/5 Osm 20141118-l2.2-collecte et contribution
4/5 Osm 20141118-l2.2-collecte et contribution
Frédéric Rodrigo
 
3/5 Osm 20141118-l2.1-être à l'aise avec open streetmap
3/5 Osm 20141118-l2.1-être à l'aise avec open streetmap3/5 Osm 20141118-l2.1-être à l'aise avec open streetmap
3/5 Osm 20141118-l2.1-être à l'aise avec open streetmap
Frédéric Rodrigo
 
2/5 Osm 20141106-l1.2-initiation à la contribution
2/5 Osm 20141106-l1.2-initiation à la contribution2/5 Osm 20141106-l1.2-initiation à la contribution
2/5 Osm 20141106-l1.2-initiation à la contribution
Frédéric Rodrigo
 
1/5 Osm 20141106-l1.1-présentation
1/5 Osm 20141106-l1.1-présentation1/5 Osm 20141106-l1.1-présentation
1/5 Osm 20141106-l1.1-présentation
Frédéric Rodrigo
 
Osm 20141112-montesquieu
Osm 20141112-montesquieuOsm 20141112-montesquieu
Osm 20141112-montesquieu
Frédéric Rodrigo
 

Plus de Frédéric Rodrigo (20)

OSXP 2021 - MAKINA MAPS
OSXP 2021 - MAKINA MAPSOSXP 2021 - MAKINA MAPS
OSXP 2021 - MAKINA MAPS
 
Cartography: Vector Tiles From an Open Initiative To an Industry Standard
Cartography: Vector Tiles  From an Open Initiative To an Industry StandardCartography: Vector Tiles  From an Open Initiative To an Industry Standard
Cartography: Vector Tiles From an Open Initiative To an Industry Standard
 
Osmose-QA, OpenData, Mapillary and MapCSS
Osmose-QA, OpenData, Mapillary and MapCSSOsmose-QA, OpenData, Mapillary and MapCSS
Osmose-QA, OpenData, Mapillary and MapCSS
 
Automatic Enhancement of Pedestrian Route using extracted Landmarks from OSM
Automatic Enhancement of Pedestrian Route using extracted Landmarks from OSMAutomatic Enhancement of Pedestrian Route using extracted Landmarks from OSM
Automatic Enhancement of Pedestrian Route using extracted Landmarks from OSM
 
Annoter automatiquement un itinéraire piéton avec des repères issus d'OSM
Annoter automatiquement un itinéraire piéton avec des repères issus d'OSMAnnoter automatiquement un itinéraire piéton avec des repères issus d'OSM
Annoter automatiquement un itinéraire piéton avec des repères issus d'OSM
 
Open Traffic
Open TrafficOpen Traffic
Open Traffic
 
Osmose-QA
Osmose-QAOsmose-QA
Osmose-QA
 
OSRM - Open Source Routing Machine
OSRM - Open Source Routing MachineOSRM - Open Source Routing Machine
OSRM - Open Source Routing Machine
 
Addok, BAN et BANO dans un bateau
Addok, BAN et BANO dans un bateauAddok, BAN et BANO dans un bateau
Addok, BAN et BANO dans un bateau
 
Osmose-QA
Osmose-QAOsmose-QA
Osmose-QA
 
Osmose-QA OpenData
Osmose-QA OpenDataOsmose-QA OpenData
Osmose-QA OpenData
 
20150607 sotm-us-osmose-qa
20150607 sotm-us-osmose-qa20150607 sotm-us-osmose-qa
20150607 sotm-us-osmose-qa
 
Mapotempo
MapotempoMapotempo
Mapotempo
 
Osmose : la conquête du monde
Osmose : la conquête du mondeOsmose : la conquête du monde
Osmose : la conquête du monde
 
5/5 Osm 20141118-l2.3-réutilisation
5/5 Osm 20141118-l2.3-réutilisation5/5 Osm 20141118-l2.3-réutilisation
5/5 Osm 20141118-l2.3-réutilisation
 
4/5 Osm 20141118-l2.2-collecte et contribution
4/5 Osm 20141118-l2.2-collecte et contribution4/5 Osm 20141118-l2.2-collecte et contribution
4/5 Osm 20141118-l2.2-collecte et contribution
 
3/5 Osm 20141118-l2.1-être à l'aise avec open streetmap
3/5 Osm 20141118-l2.1-être à l'aise avec open streetmap3/5 Osm 20141118-l2.1-être à l'aise avec open streetmap
3/5 Osm 20141118-l2.1-être à l'aise avec open streetmap
 
2/5 Osm 20141106-l1.2-initiation à la contribution
2/5 Osm 20141106-l1.2-initiation à la contribution2/5 Osm 20141106-l1.2-initiation à la contribution
2/5 Osm 20141106-l1.2-initiation à la contribution
 
1/5 Osm 20141106-l1.1-présentation
1/5 Osm 20141106-l1.1-présentation1/5 Osm 20141106-l1.1-présentation
1/5 Osm 20141106-l1.1-présentation
 
Osm 20141112-montesquieu
Osm 20141112-montesquieuOsm 20141112-montesquieu
Osm 20141112-montesquieu
 

Dernier

Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
OCTO Technology
 
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO Technology
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 

Dernier (6)

Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
 
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 

OSRM, Utilisation avancée

  • 1. OSRMOpen Source Routing Engine Utilisation avancéeSotM-FR 2018 2018-06-02 Frédéric Rodrigo – frederic@mapotempo.com – CC-By-Sa 3.0 @fre2d@twitter.com - @fre2d@unixcorn.xyz
  • 2. Fonctionnalités ● Itinéraire A→(B)→ C ● Distancier A,B,C…→A,B,C... ● Map Matching, retrouver un itinéraire depuis un GPX a b c d e f a 0 184 222 177 216 213 b 184 0 45 123 128 200 c 222 45 0 129 121 203 d 177 12 129 0 46 83 e 216 128 121 46 0 83 f 231 200 203 82 82 0
  • 3. Moteur multi-algorithmes → Recherche du parcourt à coût minimal ● Contraction de Hiérarchies (CH) ● Multi-Level Dijkstra (MLD) ● Dijkstra / A*
  • 4. Algorithmes - Temps Durée requête Durée préparation CH MLDs A*
  • 5. Processus Profil Extraction (re-)Préparation Customisation avec data Trafic temps réel* .osrm.tmp (re-)Chargement Données statiques landuse zone de conduite à droite
  • 6. Nouveautés ● Injection du trafic en temps réel – Le temps de préparation doit être faible ● Annotation : classes pour les segments d’itinéraires : payant, accès restreint... ● Exclusion de classes : ne pas prendre l’autoroute, les féries... – Duplication des données et de la préparation ● Relations OSM supporté dans le préprocessing ● Propriétés par polygone – Conduite à gauche – Valeur par défaut de maxheight ● Arriver du bon coté de la voie ● Arriver au carrefour le plus proche
  • 7. Services dérivées ● Isochrone ● Nature des zones traversées et types de voies
  • 8. Profil maison Densité Urbaine ● Faute de données trafic ● Utilisation des landuse de CLC pour influencer le profil de vitesses – Urbain dense – Urbain – Inter-urbain
  • 9. Profil maison Au plus court (mais pas trop) ● Payer des indemnités kilométriques ● Mais on ne veut quand même pas passer par des chemins ou l'on roule à 5km/h ! → Pénalité de la voie – fonction de la distance – Fonction de la vitesse
  • 10. Profil maison Poids-lourds « malin » - Problème ● Manque de données restriction PL dans OSM ● Modélisation inadapté au restriction de zones – Limitation livraison centre ville – Interdiction de traverser une ville aux PL ● Limitations conditionnelles – motor_vehicle:conditional=delivery @ (weight>5) – access:conditional=destination @ (Mo-Fr 08:00-17:00)
  • 11. Profil maison Poids-lourds « malin » - Solution ● Limitations physiques – Hauteur – Largeur → respect strict : ça passe ou ça casse ● Limitation légale – Poids – Longueur → éviter de passer : pénalité sur la voie ● Rester sur les grands axes – Pénaliser les petits axes
  • 12. OSRM & Mapotempo ● osrm-profiles-contrib ● osrm-isochrone-server ● router-wrapper – Unifier plusieurs « variables » ● au plus rapide / au plus court ● Voiture / à pied / vélo / PL – Unifier plusieurs moteurs de calculs ● OSRM ● OpenTripPlanner (transport en commun) ● ...