Skip to contents

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.

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)