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

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

Examples

bbox <- get_bbox (c (-0.13, 51.5, -0.11, 51.52)) map <- osm_basemap (bbox = bbox, bg = "gray20") if (FALSE) { # 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') } 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)