Learn R Programming

osmplotr (version 0.3.2)

add_osm_objects: add_osm_objects

Description

Adds layers of spatial objects (polygons, lines, or points generated by extract_osm_objects) to a graphics object initialised with osm_basemap.

Usage

add_osm_objects(map, obj, col = "gray40", border = NA, hcol, size,
  shape)

Arguments

map

A ggplot2 object to which the objects are to be added.

obj

A spatial (sp) data frame of polygons, lines, or points, typically as returned by extract_osm_objects.

col

Colour of lines or points; fill colour of polygons.

border

Border colour of polygons.

hcol

(Multipolygons only) Vector of fill colours for holes

size

Size argument passed to ggplot2 (polygon, path, point) functions: determines width of lines for (polygon, line), and sizes of points. Respective defaults are (0, 0.5, 0.5).

shape

Shape of points or lines (the latter passed as linetype); see shape.

Value

modified version of map to which objects have been added.

See Also

osm_basemap, extract_osm_objects.

Examples

Run this code
# NOT RUN {
bbox <- get_bbox (c (-0.13, 51.5, -0.11, 51.52))
map <- osm_basemap (bbox = bbox, bg = "gray20")

# }
# NOT RUN {
# The 'london' data used below were downloaded as:
dat_BNR <- extract_osm_objects (bbox = bbox, key = 'building',
                                value = '!residential')
dat_HP <- extract_osm_objects (bbox = bbox, key = 'highway',
                               value = 'primary')
dat_T <- extract_osm_objects (bbox = bbox, key = 'tree')
# }
# NOT RUN {
map <- add_osm_objects (map, obj = london$dat_BNR, col = "gray40", border = "yellow") 
map <- add_osm_objects (map, obj = london$dat_HP, col = "gray80",
                        size = 1, shape = 2)
map <- add_osm_objects (map, london$dat_T, col = "green", size = 2, shape = 1)
print_osm_map (map)

# Polygons with different coloured borders
map <- osm_basemap (bbox = bbox, bg = "gray20")
map <- add_osm_objects (map, obj = london$dat_HP, col = "gray80")
map <- add_osm_objects (map, london$dat_T, col = "green")
map <- add_osm_objects (map, obj = london$dat_BNR, col = "gray40", border = "yellow", 
                        size = 0.5)
print_osm_map (map)
# }

Run the code above in your browser using DataLab