Learn R Programming

osmdata (version 0.3.0)

osm_multipolygons: Extract all osm_multipolygons from an osmdata_sf object

Description

id must be of an osm_points, osm_lines, or osm_polygons object. osm_multipolygons returns any multipolygon object(s) which contain the object specified by id.

Usage

osm_multipolygons(dat, id)

Value

An sf Simple Features Collection of multipolygons

Arguments

dat

An object of class osmdata_sf

id

OSM identification of one or more objects for which multipolygons are to be extracted

See Also

Other search: osm_lines(), osm_multilines(), osm_points(), osm_polygons()

Examples

Run this code
# find all multipolygons which contain the single polygon called
# "Chiswick Eyot" (which is an island).
if (FALSE) {
dat <- opq ("London UK") |>
    add_osm_feature (key = "name", value = "Thames", exact = FALSE) |>
    osmdata_sf ()
index <- which (dat$osm_multipolygons$name == "Chiswick Eyot")
id <- rownames (dat$osm_polygons [id, ])
osm_multipolygons (dat, id)
# That multipolygon is the Thames itself, but note that
nrow (dat$osm_multipolygons) # = 14 multipolygon objects
nrow (osm_multipolygons (dat, id)) # = 1 - the main Thames multipolygon
}

Run the code above in your browser using DataLab