📦 {metric.osrm}

Le package metric.osrm a pour vocation de faciliter l’interrogation d’un serveur de routage de type OSRM (Open Source Routing Machine). Il propose :

  • Des fonctions de préparation et conversion des données en entrée : transformation de codes communes (codes INSEE ou LAU) ou d’adresses en coordonnées, conversion entre différents formats d’objets (sf ou data.frame) ;

  • Des fonctions de calcul de matrice de temps et de distances entre sources et destinations (en face à face, par croisement, aller simple ou aller-retour, accès au(x) point(s) d’intérêt le(s) plus proche(s) dans un rayon de x km, …) et de calcul d’isocourbes rapides (isochrones, isodistances) ;

  • Des fonctions de calcul d’indicateurs associés et la visualisation cartographique de certains résultats.

La documentation complète du package metric.osrm est disponible sur ce site. Toutes les fonctions sont décrites dans la rubrique “Reference”. Pour découvrir toutes les fonctionnalités du package, nous vous conseillons de lire attentivement les différents “articles” de cette documentation. Pour bien commencer : Débuter avec le package {metric.osrm}.

⚠️ Le package metric.osrm a été exclusivement testé sur un serveur OSRM déployé et mis à disposition à titre expérimental sur le SSPCLoud. Ce serveur (OSRM v5.26.0) exploite actuellement des données routières OpenStreetMap datant du 25/02/2022. Il permet uniquement des calculs de trajets routiers en voiture (profil car.lua par défaut).

⚠️ Si le package metric.osrm offre à l’utilisateur la possibilité de définir son propre serveur de routage, il a toutefois été développé en ayant pour cible un champ géographique précis (France entière + régions européennes frontalières de la métropole, cf. article “Débuter avec {metric.osrm}”) dont les spécificités font l’objet de traitements au sein du code de certaines fonctions (traitement des îles et autres réseaux routiers “isolés” lors des calculs de trajets par exemple). Son fonctionnement sur un serveur différent n’est donc pas garanti. Des liens pour déployer son propre serveur sont à disposition des intéressés ici.

Plus d’informations à propos d’OSRM sur ce site : http://project-osrm.org/

Installation et chargement du package

Installation sur poste de travail pour R >= 3.4.0, idéalement une version récente de R 4.x.x

install.packages("remotes")            # Si remotes n'est pas encore installé
options(download.file.method = "curl") # pour contourner le délai maximum de 60 secondes

remotes::install_gitlab(repo = 'metric-osrm/metric-osrm-package',   
                        host = 'git.lab.sspcloud.fr')  

Pour la mise à jour du package, il suffit de le télécharger de la même façon et de redémarrer votre Rstudio ou de faire un Session/Restart R.

Vous devrez spécifier l’URL d’un serveur de calcul OSRM et un profil avant chaque utilisation. Vous pouvez tester une requête simple entre une source et une destination. Le système de coordonnées de référence utilisé est le WGS84 qui a pour code epsg : 4326

library(metric.osrm)    
options(osrm.server = "https://metric-osrm-backend.lab.sspcloud.fr/") # éxécuter à chaque utilisation
options(osrm.profile = "driving")                                     # éxécuter à chaque utilisation

metricOsrmTable(src=data.frame(id="1",lon= 5.38584, lat= 43.30132),
                dst=codeComToCoord(codeInsee = c("13001"),geo = "2023",type = "chx"), 
                exclude ="ferry")

L’adresse du serveur est celle du serveur expérimental déployé sur la plateforme du SSPCloud. Le profil de routage est “driving”, car le serveur SSPCloud ne propose que du calcul de trajet routier en voiture. Consultez cet article si le package ne s’installe pas ou si le serveur ne répond pas.

Besoin d’aide

Que vous ayez une question ou une suggestion d’amélioration du package, rédigez un “issue” sur cette page.

Si vous rencontrez un bug, merci de le faire remonter au plus vite avec un exemple reproductible en publiant également un issue.

Le code source du package est disponible ici.

.gitlab-ci.yml

Le fichier .gitlab-ci.yml décrit les étapes de construction du projet : - vérifie les dépendances et le code du package ; - exécute les tests unitaires ; - publie la couverture de tests ; - publie le site pour la documentation du package.