Learn R Programming

osmdata (version 0.3.0)

osmdata_xml: Return an OSM Overpass query in XML format Read an (XML format) OSM Overpass response from a string, a connection, or a raw vector.

Description

Return an OSM Overpass query in XML format Read an (XML format) OSM Overpass response from a string, a connection, or a raw vector.

Usage

osmdata_xml(q, filename, quiet = TRUE, encoding)

Value

An object of class xml2::xml_document containing the result of the overpass API query.

Arguments

q

An object of class overpass_query constructed with opq and add_osm_feature or a string with a valid query, such as "(node(39.4712701,-0.3841326,39.4713799,-0.3839475);); out;". See examples below.

filename

If given, OSM data are saved to the named file

quiet

suppress status messages.

encoding

Unless otherwise specified XML documents are assumed to be encoded as UTF-8 or UTF-16. If the document is not UTF-8/16, and lacks an explicit encoding directive, this allows you to supply a default.

See Also

Other extract: osmdata_data_frame(), osmdata_sc(), osmdata_sf(), osmdata_sp()

Examples

Run this code
if (FALSE) {
query <- opq ("hampi india") |>
    add_osm_feature (key = "historic", value = "ruins")
# Then extract data from 'Overpass' API and save to local file:
osmdata_xml (query, filename = "hampi.osm")
}

# Complex query as a string (not possible with regular osmdata functions)
q <- '[out:xml][timeout:50];
    area[name="Països Catalans"][boundary=political]->.boundaryarea;

    rel(area.boundaryarea)[admin_level=8][boundary=administrative];
    map_to_area -> .all_level_8_areas;

    ( nwr(area.boundaryarea)[amenity=townhall]; >; );
    is_in;
    area._[admin_level=8][boundary=administrative] -> .level_8_areas_with_townhall;

    (.all_level_8_areas; - .level_8_areas_with_townhall;);
    rel(pivot);
    out tags;'

if (FALSE) {
no_townhall <- osmdata_xml (q)
no_townhall
}

Run the code above in your browser using DataLab