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)



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


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


Colour of lines or points; fill colour of polygons.


Border colour of polygons.


(Multipolygons only) Vector of fill colours for holes


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 of points or lines (the latter passed as linetype); see shape.


modified version of map to which objects have been added.

See also


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)