getbb()throws a warning instead of an error for empty results and return the (empty) result with the expected type according toformat_outparameter (#394).- Timestamp in metadata has a POSIXct time. Before it was character with a non-standard locale dependent date format (#416).
getbb()can query wikidata ids for OSM relations properties (P402) (idea from @mhpob in #401, implemented in #403).- Add
filter_osm_user()to add user filter tooverpass_queriesobjects (#414).
- Fixed
osm_elevation()function after raster -> terra upgrade (#389; thanks to @Aloniss). - Implement described viewbox parameter in
getbb()(#402). - Implement
osmdata_sf(..., out = "meta")& metadata columns (also forosmdata_data.frame()) are encoded in utf8 (osm_user) and formatted as POSIXct (osm_timestamp) (#405). - Remove
codemeta.json(#410).
- Remove
magrittrfrom imports. User code relaying on reexported pipe%>%fromosmdatamust explicitly load it withlibrary(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 fixgetbb(..., format_out = "sf_polygon")returning each (multi)polygon as a row in ansfobject. Before, every ring was an independent polygon, even for holes or multipolygons, and forformat_out = "sf_polygon", the features were split in a list with polygons in one item and multipolygons in another (#378).
- Implemented
c.osmdata_scmethod to joinosmdata_scobjects (#333) - Depends on R >= 4.1 to use the base pipe (
|>) in examples and vignettes (#371) - Deprecate
nodes_onlyargument inopq(). Superseded by argumentosm_types(#370) - Deprecate
osmdata_sp(#372) - Pre-prend class names
osmdata_sfandosmdatarather than append; thanks to @agila5 (#373) - Add
osmadata_data.frameclass toosmdata_data_frame()results (#378) - Reimplement
trim_osmdata()usingsfinstead ofsp. Now, it checks the full geometry instead of just the points to determine if an object is properly contained in the bbox (only forosmdata_sfobjects,osdmata_scstill wrong) (#382).
- Improved
get_bb(..., format_out = "sf_polygon")to return full metadata along with geometries (#338 thanks to @RegularnaMatrica) - Mention key-only feature requests in README (#342 thanks to @joostschouppe)
- Merge any columns in
osmdata_sf()with mixed-case duplicated names (#348) - Set encoding to UTF-8 for tags and user names (#347)
- Document the use of the input query as character strings for
osmdata_*()(#349) - Consistent
NAvalues throughout all multi-* matrices returned byosmdata_sf()(#355) - Fix dates and remove
lubridatefrom imports (#360) - Restructure class definitions of
osmdata_sf()andosmdata_sc()objects (#373, #374) - Revert added
osmdataclass toosmdata_data_frame()andosmdata_sc()+ Fix docs to better represent classes accepted bytrim_osmdata(),osm_poly2line()and extract function (#380) - Use
terrafunctions instead ofraster(obsolete) inosm_elevation()(#383) - Joan Maspons is the new maintainer (#384).
- v0.2.4 was removed without notice from CRAN because of #329; this is a rapid re-submission
- Bug fix to stop getbb call to Nominatim returning 405 error (#328)
- Fix failing test due to changes to 'sp' moving towards deprecation.
osmdata_data_frameadds columnsosm_center_latandosm_center_lonforout * center;queries (#316, #319).- Add parameters from
opqtoopq_osm_id: out, datetime, datetime2, adiff, timeout and memsize (#320) - Fix
available_tags()function which no longer worked (#322 thanks to @boiled-data) - Implement
out:csvqueries (#321).
- Fix queries with
!match_caseand only one value (#317). - Fix queries with multiple features & multiple osm_types (#318).
- Very soft deprecation of
nodes_onlyparameter inopq(#308, #312).
- Couple of minor memory leak bug fixes in
osmdata_data_frameC++ 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.
- New
osmdata_data_frame()function to return non-spatialdata.framestructures directly from overpass; thanks to @jmaspons (#285). - Improved
add_osm_featuresso 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).- Fix key modifications for non-valid column names and handle duplicated column names in
osmdata_*functions; by @jmaspons (#303) - @elipousson is new package contributor, thanks to the above work.
- @jmaspons is new package author, thanks to #285 (plus most of the above, and a whole lot more!)
- Downgraded
spfrom "Imports" to "Suggests"; thanks to @jmaspons (#302) - Improved
osm_osm_id()to accept vectors of ids and types; thanks to @jmaspons (#268, #282, #283) - "get-osmdata.R" file now split into several smaller and more manageable files (#306, thanks to @jmaspons)
- Changed httr dependency for httr2 (#272)
- Removed two authors of code formerly including for stubbing results; which is now done via
httptest2package.
- Moved jsonlite from Imports to Suggests (now only used in tests).
- New function
opq_aroundto query features within a specified radius around a defined location; thanks to @barryrowlingson via #199 and @maellecoursonnais via #238 - New vignette on splitting large queries thanks to @Machin6 (via #262)
- New dependency on
reprojpackage, so thattrim_osmdata()can be applied to re-projected coordinates.
- Fix some failing CRAN checks (no change to functionality)
add_osm_featurebug fix to revert AND behaviour (#240 thanks to @anthonynorth)
- New function
add_osm_featuresto enable OR-combinations of features in single queries.
- Bug fix in
getbb()via #232, thanks to @changwoo-lee - hard-code WKT string for EPSG:4326, to avoid obsolete proj4strings (#218)
- bug fix in
printmethod via #236; thanks to @odeleongt
- New
osm_enclosing()function; thanks to @barryrowlingson via #199 opq()now has additionaldatetimeanddatetime2parameters which can be used to extract historical data prior todatetime, or differences between two datetimes by specifyingdatetime2; thanks to @neogeomat for the idea in issue#179.- opq() also has additional
nodes_onlyparameter to return nodes as points only, for efficient extraction of strictly point-based OSM data; thanks to @gdkrmr for the idea in issue#221.
- New contributor Enrico Spinielli (@espinielli), via #207, #210, #211, #212 - Thanks!
osmdata_pbffunction removed as the overpass server no longer provides the experimental API for pbf-format data.- Remove deprecated
add_feature()function; entirely replaced byadd_osm_feature(). get_bb()with polygon output formats now returns ALL polygon and multipolygon objects by default (issue#195)
- New Contributors: Andrea Gilardi (@agila5)
- Bug fix for issue#205
- New function
unname_osmdata_sf, to remove row names fromsf-format geometry objects that may cause issues with some plotting routines such as leaflet.
getbbnow allows arbitraryfeaturetypespecification, no longer just those pertaining to settlement forms.- available_tags returns tags with underscore precisely as required for
add_osm_feature- previous version returned text values with spaces instead of underscore. - Fix bug in
osmdata_sffor data with no names and/or no key-val pairs - Fix bug in
trim_osmdatafor multi* objects; thanks to @stragu - Implement
trim_osmdata.scmethod - retry httr calls to nominatim, which has lately been timing out quite often
- bug fix in
trim_osmdatafunction
- New function,
osm_elevationto insert elevation data intoSC-format data returned byosmdata_scfunction. - New vignette on
osmdata_scfunction and elevation data. opq()function now accepts polygonal bounding boxes generated withgetbb(..., format_out = "polygon").
- Bug fix for vectorized lists of values in
add_osm_feature, so only listed items are returns (see #139; thanks @loreabad6) - But fix to ensure all
sfdata.frameobjects havestringsAsFactors = FALSE
- New function
osmdata_scto return data insilicate::SCformat (see github.com/hypertidy/silicate; this also requires additional dependency ontibble) - Structure of
osmdataobject modified to replace former$timestampfield with$metafield containing a list of$timestamp,$OSM_version(currently 0.6), and$overpass_version. - add_osm_feature() now accepts vectors of multiple values (see #139).
- osmdata_sf() objects default to character vectors, not factors (see #44).
- vignette updated
- Overpass URL now randomly selected from the four primary servers (see https://wiki.openstreetmap.org/wiki/Overpass_API#Public_Overpass_API_instances), thanks to @JimShady.
- bug fix for osmdata_sp() (see #56)
- osmdata_sp() fixed to return osm_id values (see #131; thanks @JimShady).
- Fix bug in
trim_osmdataso that all sf attributes are reinstated, and also issue message that sf-preload is necessary for this function - Fix bug with opq (key_exact = FALSE) so value_exact is always also set to FALSE
- Fix bug in
cmethod so it works whensfnot loaded - Fix bug in overpass query syntax to match new QL requirements
- Add new function 'osm_poly2line()' to coerce the 'osmdata$odm_polygons' object for 'osmdata_sf' objects to lines, and append to 'osmdata$osm_lnes'. This is important for street networks ('add_osm_objects (key = "highway")'), which are otherwise separated between these two components.
- Add new function
opq_osm_idto query by OSM identifier alone - Add
timeoutandmemsizeoptions toopq()to improve handling large queries. - Return useful information from overpass server when it returns neither error nor useful data
- Make C++ code interruptible so long processing can be cancelled
- Fix minor yet important C++ code lines that prevented package being used as dependency by other packages on some systems
- Add extraction of bounding polygons with
getbb (..., format_out = "polygon") - Add
trim_osmdatafunction to trim anosmdataobject to within a bounding polygon (thanks @sytpp) - Add
unique_osmdatafunction which reduces each component of anosmdataobject only to unique elements (so$osm_points, for example, only contains points that are not represented in other - line, polygon, whatever - objects). - Rename
add_featuretoadd_osm_feature(and deprecate old version)
- Enable alternative overpass API services through
get_overpass_url()andset_overpass_url()functions - Extend and improve vignette
- Change tests only, no functional difference
- Rename function
opq_to_string()toopq_string()
- Remove configure and Makevars files
- Fix tests
- Initial CRAN release