{"word_count": 246, "character_count": 1982}
Le package osrm assure le lien entre R et l'API d'OSRM. OSRM est un service de routage basé sur les données OpenStreetMap.Ce package permet d'obtenir le temps de trajet, la distance et le plus court chemin entre deux points via le réseau routier d'OpenStreetMap. Il est également possible d'obtenir des matrices de distances entre deux séries de points.Pour suivre l'évolution de l'API qu'il interface, j'ai mis à jour le package osrm.Vue l'ampleur des modifications sur l'API, la compatibilité descendante n'est pas assurée, les codes anciens ne fonctionneront plus.Voici un petit exemple d'utilisation du package (télécharger les données ici) :library(osrm) # to get paths between pointslibrary(cartography) # to plot a base maplibrary(rgdal) # to import/export shapefile# import a shapefileletter &#60;- readOGR(dsn=&#34;/home/tg/Bureau/&#34;, layer = &#34;R&#34;)# plot a base map using getTiles and tilesLayer # functions from cartographypar(mar=c(0,0,0,0))mytiles &#60;- getTiles(spdf = letter, type = &#34;osm&#34;)tilesLayer(mytiles)# plot the pointsplot(letter, add=T, pch = 20, col = &#039;blue&#039;, cex = 2)# Create a SpaTialLinesDataFrame of all the roadsdf &#60;- data.frame(coordinates(letter))names(df) &#60;- c(&#34;X&#34;, &#34;Y&#34;)df$id &#60;- 1:nrow(df)for (i in 1:(nrow(df)-1)){  road &#60;- osrmViarouteGeom(src = df[i,3:1],                            dst = df[i+1,3:1],                            sp =TRUE)  if (exists(&#34;myroads&#34;)){    myroads &#60;- rbind(myroads, road)  }else{    myroads &#60;- road  }}# and plot itplot(myroads, col = &#34;red&#34;, lwd = 2, add=TRUE)### export the road layer## writeOGR(obj = myroads, dsn=&#34;/home/tg/Bureau&#34;,##          layer = &#34;myroads&#34;, driver = &#34;ESRI Shapefile&#34;)La prochaine version (actuellement disponible sur GitHub) permet d'utiliser directement des SpatialPointsDataFrame comme argument des fonctions.Voir aussi : Temps de trajet et matrices de distances avec R et OpenStreetMap