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

1
2
3
4
5
6
7
8
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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
## 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)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.