Le package osrm est une interface entre R et le service de routage Open Source Routing Machine (OSRM). OSRM est un service de routage utilisant les données d’OpenStreetMap (OSM) data. Le package permet de calculer des routes, des matrices de distances, des isochrones en utilisant s’appuyant sur le réseau routier d’OSM.
Une mise à jour majeur du package est sortie sur le CRAN il y a peu. Dans le billet suivant je décris les nouveauté et le contexte de cette sortie: la publication d’un article dans Journal of Open Source Software (JOSS).
mapsf helps to design various cartographic representations such as proportional symbols, choropleth or typology maps. It also offers several functions to display layout elements that improve the graphic presentation of maps (e.g. scale bar, north arrow, title, labels). mapsf maps sf objects on base graphics.
The potential package provides functions to compute potential models as defined by John Q. Stewart. Several options are available to customize the models, for example it is possible to refine the distance friction functions or to use custom distance matrices. Some functions use parallelization to improve their efficiency.
The aim of potential is to replace potential-related functions of the SpatialPosition package. SpatialPosition was built to compute 3 spatial position models (Stewart potentials, Reilly catchment areas, Huff catchment areas) in a time where sf was not published yet (May 2015). potential functions use a simplified interface and are more efficient than their counterpart in SpatialPostion. My recommendation to SpatialPositon users is thus to switch to potential for the computation of potentials.
A didactic vignette describing the methodology and functions is provided as well as a website.
A new version of the cartography package (v2.4.0) has arrived on CRAN.
New Features
waffleLayer() plots a “waffle map”. This kind of representation allows to plot several quantities on the same map.
ghostLayer() is a short function that plot an invisible layer with the extent of a spatial object. This function is useful to initiate a map with a specific extent.
These 3 functions are well described by their creator, Diego Hernangómez, on his blog.
Enhancements
getTiles()gets map tiles from various tile servers.
The function has gained caching capacities (through cachedir and forceDownload arguments). Users can now cache tiles in a folder and reuse them across R sessions.
More than 50 tile servers have been included and other can be added by users.
It is possible to use Thunderforest tiles with an API key.
click here to see the figure in a better resolution
The barscale() function plots a scale bar on a map, a new unit argument has been added to plot the scale bar in meters, kilometers or miles.
Under the Hood
cartography does not use rosm anymore to import map tiles. The package is working great but its maintainer, Dewey Dunnington, suggests that it will not evolve much and that other package will appear to replace it. Thus we have decided to use slippymath and internal code to download tiles. A (positive) side effect of this replacement is a decrease in the indirect dependancies of cartography.
cartography appears to be robust to the changes introduced by the last sf version (v0.9). This version takes into account the new representation of coordinate reference systems proposed by GDAL and PROJ. More information on this here.
In cartography several functions have a pos or legend.pos argument. These arguments can take the following values: “topleft”, “top”, “topright”, “right”, “bottomright”, “bottom”, “bottomleft”, “bottomleftextra”, “left” or a vector of two coordinates in map units (c(x, y)).
The osrm package is an interface between R and the OSRM API. OSRM is a routing service based on OpenStreetMap data. This package allows computing shortest paths, travel time and travel distance matrices between points.
The popcircle package has been released on GitHub. This one-function package computes circles with areas scaled to a variable and displays them using a compact layout (higher values in the center, lower values at the periphery). Original polygons are scaled to fit inside these circles (size are roughly proportional, not strictly).
The circles creation relies on packcircles, spatial data manipulation relies on sf.
The tanaka package has been released on CRAN. This package is a simplified implementation of the Tanaka method. Also called “relief contours method”, “illuminated contour method” or “shaded contour lines method”, the Tanaka method enhances the representation of topography on a map using shaded contour lines. North-west white contours represent illuminated topography and south-east black contours represent shaded topography.
The contour lines creation relies on isoband, spatial data manipulation and display rely on sf.
tanaka is a small package with only two functions:
tanaka() uses a raster object and displays the map directly;
tanaka_contour() builds the isopleth polygon layer.
This is a typical example of the package usage based on the dataset shipped with the package.
In the second example, the elevatr package is used to download an elevation raster on a specific area. Then the tanaka_contour() function is used to create an isopleth layer and finally the tanaka()function is used to to display the map with a custom color palette.
library(tanaka)
library(elevatr)
# use elevatr to get elevation data
ras <- get_elev_raster(
locations = data.frame(
x = c(6.7, 7), y = c(45.8,46)
),
z = 10, prj = "+init=epsg:4326",
clip = "locations"
)
# create the isopleth layer
iso <- tanaka_contour(
x = ras,
breaks = seq(500,4800,250)
)
# display the isopleth layer
plot(st_geometry(iso))
# create a custom color palette
pal <- colorRampPalette(colors = c("#F9D3A1", "#1E315B"))
# display the map
tanaka(iso, col = pal(nrow(iso)))
This post shows how to build a colored pencil map with R.
The cartography package (in its development version) has gained a getPencilLayer() function that transforms a POLYGON or MULTIPOLYGON layer into a MULTILINESTRING layer mimicking a pencil drawing pattern.
A new version of the cartography package (v2.0.1) has arrived on CRAN.
cartography allows various cartographic representations such as proportional symbols, chroropleth, typology, flows or discontinuities maps. It also offers several features enhancing the graphic presentation of maps like cartographic palettes, layout elements (scale, north arrow, title…), labels, legends or access to some cartographic APIs.
Up to version 1.4.2 cartography was mainly based on sp and rgeos for its spatial data management and geoprocessing operations. These dependencies have been as much as possible replaced by sf functions since version 2.0.0.
Most functions are kept unchanged except for the addition of an x argument used to take sf objects as inputs.
See the NEWS file for the full list of changes and see sf README in case of installation problems with sf. Continuer la lecture de New version of the cartography package→
Ce billet évoque les évolutions récentes du traitement des données spatiales avec R ainsi que la mise à jour du package cartography pour prendre en compte ces changements. Continuer la lecture de sf & cartography v2.0.0→
Le package linemap permet de réaliser des cartes composées de lignes. Le package contient deux fonctions, linemap et getgrid.
La fonction linemap permet d’afficher la carte. Elle prend en entrée un data frame contenant les coordonnées des points d’une grille régulière et au moins une variable.
La fonction getgrid permet de transformer un maillage de polygones irrégulier en data frame pouvant être utilisé avec la fonction linemap. Les polygones en entrée doivent être au format sf et, la fonction reposant sur des calculs d’intersections, il est fortement conseillé d’utiliser le package sf dans une version supérieure ou égale à 0.5-1. En effet à partir de cette version sf intègre les index spatiaux, ce qui accélère très significativement certains géotraitements (dont les calculs d’intersections).
Tutoriel de cartographie avec R. Tutoriel donné à l’occasion des Cinquièmes Rencontres R à Toulouse (introduction à la cartographie thématique, les fonctionnalités spatiales de R, présentation du package cartography, exercices corrigés).
L’API du service de routage open sourceOSRM vient de passer à la version 5. J’ai donc adapté le package osrm à cette nouvelle version qui devrait rester assez stable pendant quelque temps. Il s’agit à nouveau d’une version majeur (la compatibilité descendante n’est pas assurée). Continuer la lecture de Mise à jour du package osrm (version 3.0.0)→
L’encodage de polylines (Encoded Polyline Algorithm Format)
est un algorithme de compression (avec pertes) qui permet de stocker une liste de coordonnées dans une simple chaîne de caractères.
Cet encodage a été créé pour être utiliser par l’API de Google Maps. Mais d’autres services peuvent y faire appel, c’est le cas par exemple de l’API du service de routage open sourceOSRM.
Le package gepaf permet d’encoder un dataframe de coordonnées vers une chaîne de caractères avec la fonction encodePolyline et de décoder une chaîne de caractères vers un dataframe de coordonnées avec la fonction decodePolyline.
Le package, créé par Matthieu Viry, est disponible sur le CRAN ainsi que sur GitHub.
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. Continuer la lecture de Mise à jour du package osrm (version 2.0.0)→
une amélioration de la fonction permettant d’exporter les potentiels en format vectoriel (ce qui peut être utile si l’on veut utiliser une couche de potentiels dans un SIG ou si l’on veut mettre en page une carte de potentiels dans un logiciel d’édition vectorielle).
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. Continuer la lecture de Temps de trajet et matrices de distances avec R et OpenStreetMap→
Le package cartography est sur le CRAN.
Ce package permet la création de la plupart des types de cartes statistiques ou thématiques avec R.
Dans ce post je propose une série de cartes réalisées avec ce package.
J’ai indiqué sous chacune d’entre elles les principales fonctions utilisées. L’intégralité des scripts mis en place pour créer les cartes sont disponibles dans la vignette du package.
Les fonds de cartes et les données sur les régions européennes mobilisées ici sont fournis avec le package. Continuer la lecture de Cartographie avec R : le package cartography→
Il existe différentes solutions pour géocoder des adresses ou des lieux avec R. Les plus fréquemment citées sont basées sur des services commerciaux et utilisent des données non libres. D’autres utilisent des logiciels libres et des données libres (OpenStreetMap). La nature commerciale / non commerciale, libre / non libre d’une solution a des implications sur la construction et la diffusion des données géocodées.
Je propose ici une petite revue des différentes possibilités de géocodage dans R ainsi qu’un package pour interroger l’une des API de géocodage basé sur OpenStreetMap (photon). Continuer la lecture de Géocoder en masse avec R et sans Google Maps→
Comme annoncé sur le blog du Groupe ElementR nous venons de déposer sur le CRAN le package SpatialPosition qui permet permet de calculer et de visualiser les résultats de modèles de positions : modèle de Reilly, modèle de Huff et modèle de Stewart. Ces modèles d’interaction spatiale permettent de saisir l’influence exercée par un lieu sur tous les autres (aire de marché d’un commerce, aire d’influence d’une ville, etc.). Pour plus d’information et de ressources sur ce type de modèles, vous pouvez vous référer à la vignette associée au package. Continuer la lecture de Reilly, Huff et Stewart : le package SpatialPosition→
[MAJ]
Maintenant que le package cartography est sur le CRAN, j’incite fortement les potentiels utilisateurs à préférer celui-ci plutôt que rCarto. Petite présentation ici.
[/MAJ] Continuer la lecture de Mise à jour de rCarto→
Lorsque j’ai essayé d’installer devtools sur un pc sous Uubuntu 14.04 j’ai eu le message d’erreur suivant :
checking for curl-config... no
Cannot find curl-config
ERROR: configuration failed for package ‘RCurl’
* removing ‘/home/tg/R/i686-pc-linux-gnu-library/3.1/RCurl’
Warning in install.packages :
installation of package ‘RCurl’ had non-zero exit status
Dans le cadre des séances de formation du Groupe ElementR Hadrien Commenges et moi avons préparé des documents pédagogiques autour de la notion de recherche reproductible avec R.