
The OpenStreetMap database provides a
wide range of highly detailed geographic layers on a global scale. To
obtain synthetic information for cartographic purposes, layers must be
selected, simplified, merged, or modified.
maposm downloads OpenStreetMap extracts and performs these operations
to create a set of composite layers of urban areas, buildings, green
spaces, main roads, secondary roads, railways, and water bodies.
You can install maposm from the r-universe.
install.packages('maposm', repos = c('https://riatelab.r-universe.dev', 'https://cloud.r-project.org'))
om_get() is used to download, merge and simplify the geographic
layers.
om_map() is used to map the layers.
library(maposm)
#> Data © OpenStreetMap contributors, ODbL 1.0. https://www.openstreetmap.org/copyright.
#> Maps based on OpenStreetMap data should cite "© OpenStreetMap contributors" as the data source.
f2f = om_get(x = c(-61.070, 14.605), r = 600)
#> # Download the OpenStreetMap file
#> The input place and the radius matched the sample dataset.
#> Skip download and data extraction.
#>
#> # Create map layers
#> - green spaces
#> - buildings
#> - urban areas
#> - roads
#> - streets
#> - railways
#> - water bodies
#>
#> Done!
om_map(x = f2f, title = "Fort-de-France, Martinique", theme = "light")

Several themes are available to map the layers (“light”, “dark”, “grey” and “pizza”).
om_map(x = f2f, title = "Fort-de-France, Martinique", theme = "grey")

You can also use your prefered library to map the layers.
library(mapsf)
mf_map(f2f$zone, col = "#f2efe9", border = NA, add = FALSE)
mf_map(f2f$urban, col = "#e0dfdf", border = "#e0dfdf", lwd = .5, add = TRUE)
mf_map(f2f$green, col = "#c8facc", border = "#c8facc", lwd = .5, add = TRUE)
mf_map(f2f$water, col = "#aad3df", border = "#aad3df", lwd = .5, add = TRUE)
mf_map(f2f$railway, col = "grey50", lty = 2, lwd = .2, add = TRUE)
mf_map(f2f$street, col = "white", border = "white", lwd = .5, add = TRUE)
mf_map(f2f$road, col = "#f7fabf", border = "#f7fabf", lwd = .5, add = TRUE)
mf_map(f2f$building, col = "#d9d0c9", border = "#c6bab1", lwd = .5, add = TRUE)
mf_map(f2f$zone, col = NA, border = "#c6bab1", lwd = 4, add = TRUE)
mf_credits(txt = "\ua9 OpenStreetMap contributors")
mf_scale(size = 100, scale_units = "m")
mf_title("Fort-de-France, Martinique")

om_write() can be used to write the layers to a geopackage file.
om_read() can be used to read these geopackages.
# save
om_write(x = f2f, filename = "f2f.gpkg")
# import
om_read(x = "f2f.gpkg")
osmdata to access to OSM data
through the overpass APIosmplotr from the author of
osmdataosmextract for large
extracts from OSMprettymaps is a full
featured Python librarymapBliss to plot
flight paths and road trips on OSM mapmaptiles to download
(raster) OSM map tilescartographr to plot OSM
layers using ggplot2rcityviews to map cities,
it has a shiny interfaceOne can contribute to the package through pull requests and report issues or ask questions here. This project uses conventional commits and semantic versioning.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.