osmdata (version 0.1.9)

add_osm_features: Add multiple features to an Overpass query

Description

Alternative version of add_osm_feature for creating single queries with multiple features. Key-value matching may be controlled by using the filter symbols described in https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL#By_tag_.28has-kv.29.

Usage

add_osm_features(opq, features, bbox = NULL)

Arguments

opq

An overpass_query object

features

Character vector of key-value pairs with keys and values enclosed in escape-formatted quotations (see examples).

bbox

optional bounding box for the feature query; must be set if no opq query bbox has been set

Value

opq object

<code>add_osm_feature</code> vs <code>add_osm_features</code>

Features defined within an add_osm_features call are combined with a logical OR.

Chained calls to either add_osm_feature or add_osm_features() combines features from these calls in a logical AND; this is analagous to chaining dplyr::filter() on a data frame.

add_osm_features() with only one feature is logically equivalent to add_osm_feature().

References

https://wiki.openstreetmap.org/wiki/Map_Features

See Also

add_osm_feature

Other queries: add_osm_feature(), bbox_to_string(), getbb(), opq_around(), opq_enclosing(), opq_osm_id(), opq_string(), opq(), overpass_status()

Examples

Run this code
# NOT RUN {
q <- opq ("portsmouth usa") %>%
     add_osm_features (features = c ("\"amenity\"=\"restaurant\"",
                                     "\"amenity\"=\"pub\""))
# This extracts in a single query the same result as the following:
q1 <- opq ("portsmouth usa") %>%
                add_osm_feature(key = "amenity",
                                value = "restaurant")
q2 <- opq ("portsmouth usa") %>%
                add_osm_feature(key = "amenity", value = "pub")
c (osmdata_sf (q1), osmdata_sf (q2)) # all restaurants OR pubs
# }

Run the code above in your browser using DataLab