Learn R Programming

tmap (version 1.6)

read_osm: Read Open Street Map data

Description

Read Open Street Map data. Either OSM tiles are read and returned as a spatial raster, or vectorized OSM data are queried and returned as spatial polygons, lines, and/or points.

Usage

read_osm(x, raster = NA, zoom = NULL, type = NULL, minNumTiles = NULL, mergeTiles = NULL, ...)
osm_poly(query)
osm_line(query)
osm_point(query)

Arguments

x
shape, bounding box, or osmar object. If a shape (from class Spatial or Raster) is specified, the bounding box of it is taken. See also ... (other arguments). If a bounding box is specified, it should be in longitude latitude coordinates.
raster
logical that determines whether a raster or vector shapes are returned. In the latter case, specify the vector selections (see argument ...). By default, raster=TRUE if no vector selections are made, and raster=FALSE otherwise.
zoom
passed on to openmap. Only applicable when raster=TRUE.
type
passed on to openmap Only applicable when raster=TRUE.
minNumTiles
passed on to openmap Only applicable when raster=TRUE.
mergeTiles
passed on to openmap Only applicable when raster=TRUE.
...
arguments passed on to bb in case x is a shape, or arguments that specify polygons, lines, and/or points queries, created with osm_poly, osm_line, and osm_point respectively.
query
query to select polygons, lines, or points. Currently, two formats are supported: 1) key, 2) key=value. See http://wiki.openstreetmap.org/wiki/Map_Features for Open Street Map keys and values.

Value

The output of read_osm is a SpatialGridDataFrame if raster=TRUE, and otherwise a named list of SpatialPolygonsDataFrame, SpatialLinesDataFrame, and/or SpatialPointsDataFrame objects. The names of this list are the names of arguments defined at ....

Examples

Run this code
## Not run: 
# #### Choropleth with OSM background
# 
# # load Netherlands shape
# data(NLD_muni)
# 
# # read OSM raster data
# osm_NLD <- read_osm(NLD_muni, ext=1.1)
# 
# # plot with regular tmap functions
# tm_shape(osm_NLD) +
# 	tm_raster() +
# tm_shape(NLD_muni) +
# 	tm_polygons("population", convert2density=TRUE, style="kmeans", alpha=.7, palette="Purples")
# 
# #### A close look at the building of Statistics Netherlands in Heerlen
# 
# # create a bounding box around the CBS (Statistics Netherlands) building
# CBS_bb <- bb("CBS Weg 11, Heerlen", width=.003, height=.002)
# 
# # read Microsoft Bing satellite and OpenCycleMap OSM layers
# CBS_osm1 <- read_osm(CBS_bb, type="bing")
# CBS_osm2 <- read_osm(CBS_bb, type="opencyclemap")
# 
# # plot OSM raster data
# qtm(CBS_osm1)
# qtm(CBS_osm2)
# 
# # read vectorized OSM data
# CBS_osm3 <- read_osm(CBS_bb, 
# 					 roads=osm_line("highway"),
# 					 parking=osm_poly("amenity=parking"),
# 					 building=osm_poly("building"),
# 					 park=osm_poly("leisure=park"),
# 					 railway_area=osm_poly("landuse=railway"),
# 					 railway=osm_line("railway"),
# 					 forest=osm_poly("landuse=forest"),
# 					 grass=osm_poly("landuse=grass"),
# 					 bicycle=osm_line("highway=cycleway"))
# 
# # plot vectorized OSM data
# tm_shape(CBS_osm3$grass, bbox=CBS_bb) + tm_polygons("darkolivegreen3") +
# 	tm_shape(CBS_osm3$forest) + tm_fill("forestgreen") +
# 	tm_shape(CBS_osm3$railway_area) + tm_fill(col="grey70") +
# 	tm_shape(CBS_osm3$parking) + tm_polygons("gold") +
# 	tm_shape(CBS_osm3$building) + tm_polygons("grey50") +
# 	tm_shape(CBS_osm3$roads, bbox=CBS_bb) + tm_lines(col="gold", lwd=3) + 
# 	tm_shape(CBS_osm3$bicycle) + tm_lines(col="blue", lwd=3) + 
# 	tm_shape(CBS_osm3$railway) + tm_lines(col="grey20", lwd=3, lty="dashed") + 
# 	tm_layout(bg.color="grey90")
# ## End(Not run)

Run the code above in your browser using DataLab