magrittr from imports. User code relaying on
reexported pipe %>% from osmdata must
explicitly load it with library(magrittr). Code examples,
tests and vignettes now use the pipe from base (|>)
available since R 4.1 (#361)getbb(..., format_out = "polygon") return polygons
following [https://www.ogc.org/standards/sfa/]. Polygons are defined by
a list of matrices of coordinates. The first ring defines the exterior
boundary, and the following rings define holes if present. Also fix
getbb(..., format_out = "sf_polygon") returning each
(multi)polygon as a row in an sf object. Before, every ring
was an independent polygon, even for holes or multipolygons, and for
format_out = "sf_polygon", the features were split in a
list with polygons in one item and multipolygons in another (#378).c.osmdata_sc method to join
osmdata_sc objects (#333)|>) in
examples and vignettes (#371)nodes_only argument in opq().
Superseded by argument osm_types (#370)osmdata_sp (#372)osmdata_sf and
osmdata rather than append; thanks to @agila5 (#373)osmadata_data.frame class to
osmdata_data_frame() results (#378)trim_osmdata() using sf
instead of sp. Now, it checks the full geometry instead of
just the points to determine if an object is properly contained in the
bbox (only for osmdata_sf objects, osdmata_sc
still wrong) (#382).get_bb(..., format_out = "sf_polygon") to
return full metadata along with geometries (#338 thanks to @RegularnaMatrica)osmdata_sf() with mixed-case
duplicated names (#348)osmdata_*() (#349)NA values throughout all multi-* matrices
returned by osmdata_sf() (#355)lubridate from imports (#360)osmdata_sf() and
osmdata_sc() objects (#373, #374)osmdata class to
osmdata_data_frame() and osmdata_sc() + Fix
docs to better represent classes accepted by
trim_osmdata(), osm_poly2line() and extract
function (#380)terra functions instead of raster
(obsolete) in osm_elevation() (#383)osmdata_data_frame adds columns
osm_center_lat and osm_center_lon for
out * center; queries (#316, #319).opq to opq_osm_id:
out, datetime, datetime2, adiff, timeout and memsize (#320)available_tags() function which no longer worked
(#322 thanks to @boiled-data)out:csv queries (#321).!match_case and only one value
(#317).nodes_only parameter in
opq (#308, #312).osmdata_data_frame C++ code.This release welcomes a new package author @jmaspons. The lists of changes here gives an overview of the amazing work he has contributed to this new major version.
osmdata_data_frame() function to return non-spatial
data.frame structures directly from overpass; thanks to
@jmaspons
(#285).add_osm_features so that key-values pairs can
be submitted as a list, rather than escape-delimited character strings;
thanks to @elipousson (#277, #278).opq() can now utilise overpass ability to filter
results by area; thanks to @jmaspons (#286).opq() now has additional “out” parameter to control the
kinds of data returned by overpass; thanks to @jmaspons (#288).opq() now has additional “osm_types” parameter to
provide finer control of which kinds of data are returned by overpass;
thanks to @jmaspons
(#295).osmdata_* functions; by @jmaspons (#303)sp from “Imports” to “Suggests”; thanks to
@jmaspons
(#302)osm_osm_id() to accept vectors of ids and
types; thanks to @jmaspons (#268, #282, #283)httptest2 package.opq_around to query features within a
specified radius around a defined location; thanks to @barryrowlingson
via #199 and @maellecoursonnais via #238reproj package, so that
trim_osmdata() can be applied to re-projected
coordinates.add_osm_feature bug fix to revert AND behaviour (#240
thanks to @anthonynorth)add_osm_features to enable OR-combinations
of features in single queries.getbb() via #232, thanks to @changwoo-leeprint method via #236; thanks to @odeleongtosm_enclosing() function; thanks to @barryrowlingson
via #199opq() now has additional datetime and
datetime2 parameters which can be used to extract
historical data prior to datetime, or differences between
two datetimes by specifying datetime2; thanks to @neogeomat for the idea
in issue#179.nodes_only parameter to
return nodes as points only, for efficient extraction of strictly
point-based OSM data; thanks to @gdkrmr for the idea in issue#221.osmdata_pbf function removed as the overpass server no
longer provides the experimental API for pbf-format data.add_feature() function; entirely
replaced by add_osm_feature().get_bb() with polygon output formats now returns ALL
polygon and multipolygon objects by default (issue#195)unname_osmdata_sf, to remove row names
from sf-format geometry objects that may cause issues with
some plotting routines such as leaflet.getbb now allows arbitrary featuretype
specification, no longer just those pertaining to settlement forms.add_osm_feature - previous version returned text values
with spaces instead of underscore.osmdata_sf for data with no names and/or no
key-val pairstrim_osmdata for multi* objects; thanks to
@stragutrim_osmdata.sc methodtrim_osmdata functionosm_elevation to insert elevation data
into SC-format data returned by osmdata_sc
function.osmdata_sc function and elevation
data.opq() function now accepts polygonal bounding boxes
generated with getbb(..., format_out = "polygon").add_osm_feature, so only listed items are returns (see
#139; thanks @loreabad6)sf data.frame
objects have stringsAsFactors = FALSEosmdata_sc to return data in
silicate::SC format (see github.com/hypertidy/silicate;
this also requires additional dependency on tibble)osmdata object modified to replace former
$timestamp field with $meta field containing a
list of $timestamp, $OSM_version (currently
0.6), and $overpass_version.trim_osmdata so that all sf attributes are
reinstated, and also issue message that sf-preload is necessary for this
functionc method so it works when sf
not loadedopq_osm_id to query by OSM identifier
alonetimeout and memsize options to
opq() to improve handling large queries.getbb (..., format_out = "polygon")trim_osmdata function to trim an
osmdata object to within a bounding polygon (thanks @sytpp)unique_osmdata function which reduces each
component of an osmdata object only to unique elements (so
$osm_points, for example, only contains points that are not
represented in other - line, polygon, whatever - objects).add_feature to add_osm_feature (and
deprecate old version)get_overpass_url() and set_overpass_url()
functionsopq_to_string() to
opq_string()