Makes an entire OSM map for the given bbox using the submitted data, or by
downloading data if none submitted. This is a convenience function enabling
an entire map to be produced according to the graphical format specified with
the structures
argument.
Usage
make_osm_map(
bbox,
osm_data,
structures = osm_structures(),
dat_prefix = "dat_"
)
Arguments
- bbox
The bounding box for the map. A 2-by-2 matrix of 4 elements with columns of min and max values, and rows of x and y values. If
NULL
,bbox
is taken from the largest extent of OSM objects inosm_data
.- osm_data
A list of OSM objects as returned from
extract_osm_objects
. These objects may be included in the plot without downloading. These should all be named with the stateddat_prefix
and have suffixes as given instructures
.- structures
A
data.frame
specifying types of OSM structures as returned fromosm_structures
, and potentially modified to alter lists of structures to be plotted, and their associated colours. Objects are overlaid on plot according to the order given instructures
.- dat_prefix
Prefix for data structures (default
dat_
). Final data structures are created by appending the suffixes fromosm_structures
.
Value
List of two components:
List of OSM structures each as
Spatial(Points/Lines/Polygons)DataFrame
and appended toosm_data
(which isNULL
by default), andThe
map
as aggplot2
object
Note
If osm_data
is not given, then data will be downloaded, which can take
some time. Progress is dumped to screen.
See also
Other construction:
add_osm_objects()
,
osm_basemap()
,
osm_structures()
,
print_osm_map()
Examples
structures <- c ("highway", "park")
structs <- osm_structures (structures = structures, col_scheme = "light")
# make_osm_map returns potentially modified list of data using the provided
# 'london' data for highways and parks.
dat <- make_osm_map (osm_data = london, structures = structs)
# or download data automatically using a defined bounding boox
bbox <- get_bbox (c (-0.15, 51.5, -0.10, 51.52))
if (FALSE) { # \dontrun{
dat <- make_osm_map (bbox = bbox, structures = structs)
print_osm_map (dat$map)
} # }