opq {osmdata} | R Documentation |
Build an Overpass query
Description
Build an Overpass query
Usage
opq(
bbox = NULL,
nodes_only = FALSE,
osm_types = c("node", "way", "relation"),
out = c("body", "tags", "meta", "skel", "tags center", "ids"),
datetime = NULL,
datetime2 = NULL,
adiff = FALSE,
timeout = 25,
memsize
)
Arguments
bbox |
Either (i) four numeric values specifying the maximal and minimal
longitudes and latitudes, in the form |
nodes_only |
WARNING: this parameter is equivalent to
|
osm_types |
A character vector with several OSM types to query: |
out |
The level of verbosity of the overpass result: |
datetime |
If specified, a date and time to extract data from the OSM database as it was up to the specified date and time, as described at https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL#date. This must be in ISO8601 format ("YYYY-MM-DDThh:mm:ssZ"), where both the "T" and "Z" characters must be present. |
datetime2 |
If specified, return the difference in the OSM
database between |
adiff |
If |
timeout |
It may be necessary to increase this value for large queries, because the server may time out before all data are delivered. |
memsize |
The default memory size for the 'overpass' server in bytes; may need to be increased in order to handle large queries. |
Details
The out
statement for tags
, tags center
and id
, do not return
geometries. Neither out = "meta"
nor adiff = TRUE
options are implemented
for all osmdata_*
functions yet. Use osmdata_xml or osmdata_data_frame
to get the result of these queries. See the documentation of the out statement
and augmented difference
for more details about these options.
Value
An overpass_query
object
Note
See
https://wiki.openstreetmap.org/wiki/Overpass_API#Resource_management_options_.28osm-script.29
for explanation of timeout
and memsize
(or maxsize
in overpass terms).
Note in particular the comment that queries with arbitrarily large memsize
are likely to be rejected.
See Also
Other queries:
add_osm_features()
,
add_osm_feature()
,
bbox_to_string()
,
getbb()
,
opq_around()
,
opq_csv()
,
opq_enclosing()
,
opq_osm_id()
,
opq_string()
,
overpass_status()
Examples
## Not run:
q <- getbb ("portsmouth", display_name_contains = "United States") %>%
opq () %>%
add_osm_feature ("amenity", "restaurant") %>%
add_osm_feature ("amenity", "pub")
osmdata_sf (q) # all objects that are restaurants AND pubs (there are none!)
q1 <- getbb ("portsmouth", display_name_contains = "United States") %>%
opq () %>%
add_osm_feature ("amenity", "restaurant")
q2 <- getbb ("portsmouth", display_name_contains = "United States") %>%
opq () %>%
add_osm_feature ("amenity", "pub")
c (osmdata_sf (q1), osmdata_sf (q2)) # all restaurants OR pubs
# Use nodes_only to retrieve single point data only, such as for central
# locations of cities.
opq <- opq (bbox, nodes_only = TRUE) %>%
add_osm_feature (key = "place", value = "city") %>%
osmdata_sf (quiet = FALSE)
# Filter by a search area
qa1 <- getbb ("Catalan Countries", format_out = "osm_type_id") %>%
opq (nodes_only = TRUE) %>%
add_osm_feature (key = "capital", value = "4")
opqa1 <- osmdata_sf (qa1)
# Filter by a multiple search areas
bb <- getbb ("Vilafranca", format_out = "data.frame")
qa2 <- bbox_to_string (bb [bb$osm_type != "node", ]) %>%
opq (nodes_only = TRUE) %>%
add_osm_feature (key = "place")
opqa2 <- osmdata_sf (qa2)
## End(Not run)