Adds layers of spatial objects (polygons, lines, or points generated by
extract_osm_objects
) to a graphics object initialised with
osm_basemap
.
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 byextract_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
Linewidth 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
); seeshape
.
See also
osm_basemap
, extract_osm_objects
.
Other construction:
make_osm_map()
,
osm_basemap()
,
osm_structures()
,
print_osm_map()
Examples
bbox <- get_bbox (c (-0.13, 51.5, -0.11, 51.52))
map <- osm_basemap (bbox = bbox, bg = "gray20")
if (FALSE) { # \dontrun{
# 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)