opencage (development version)
- opencage now supports an
address_onlyparameter, see “New optional API parameter ‘address_only’”, (#151). - The geocoding functions will not send a query to the API anymore if no API key is present (#133).
-
NAs are allowed again for theplacenameorlatitude/longitudearguments (also empty strings forplacename). These queries are not sent to the API. An empty/NAresponse will be returned depending on the specific query (#143). -
opencage_forward(),opencage_reverse(), andopencage_key()are now deprecated (leveling up from soft-deprecated, #147).
Internals
- {opencage} now uses {testthat} 3e for unit tests (#141).
- Use {lintr} version 3.0 and add “package development” linters (#144).
-
countrycodessource and script were moved todata-raw(#146). - Add CITATION.cff and a corresponding GitHub action (#148).
- Select expressions inside
oc_forward_df()andoc_reverse_df()now use"column"instead of.data$column, because the latter is deprecated as of tidyselect v1.2.0 (#150). - The opencage code now uses a consistent style (
styler::tidyverse_style()) and all internal functions are documented (#153). - GitHub action workflows have been updated (#142, #149, #152), #164).
- Styler, document, and rhub GitHub action workflows have been added (#153, #164).
- Tests are updated to reflect changes in API responses (#163, #165)
opencage 0.2.1
CRAN release: 2021-02-14
This is a major rewrite of the {opencage} package. opencage_forward() and opencage_reverse() have been deprecated and are superseded by oc_forward() and oc_reverse(), respectively. In addition there are two new functions oc_forward_df() and oc_reverse_df(), which geocode place names or addresses into geographic coordinates (latitude and longitude) or vice versa, and return a data frame.
The new features include:
-
oc_forward()andoc_reverse()return either lists of data frames, JSON strings, GeoJSON strings, or URLs to be sent to the API (the latter for debugging purposes). -
oc_forward_df()andoc_reverse_df()take a data frame or vectors as input and return a data frame with the geocoding results, optionally with the source data frame bound to the results data frame. - Almost all arguments of the geocoding functions are vectorised (the exceptions being
output), so it is possible to serially (reverse) geocode lists of locations or coordinates. The geocoding functions show a progress indicator when more than oneplacenameorlatitude/longitudepair is provided. - The forward geocoding functions now support multiple
countrycodes in accordance with the OpenCage API (#44). Thecountrycodes can now be provided in upper or lower case (#47). - A helper function
oc_bbox()now makes it easier to create a list of bounding boxes from numeric vectors, bbox objects or data frames. -
oc_forward()andoc_forward_df()now support OpenCage’sproximityparameter. The results of the geocoding request will be biased towards that location (#60). - A helper function
oc_points()now makes it easier to create a list of point coordinates from numeric vectors or data frames to pass to theproximityargument for example. - All geocoding functions now support OpenCage’s
roadinfoparameter (#65). If set toTRUE, OpenCage attempts to match the nearest road (rather than an address) and provides additional road and driving information. - Language tags passed to the
languageargument are not validated anymore, since the language tags used by OpenStreetMap and hence OpenCage do not always conform with the IETF BCP 47 standard (#90). Thelanguagecodes, which were stored in {opencage} as external data, have therefore been omitted from the package. In addition, it is now possible to specifylanguage = "native", so OpenCage will attempt to return the results in the “official” language of the country. - http requests are now handled by {crul}, not {httr} (#37).
- API calls are now rate limited (#32). The default limit is set to 1 call per second as per the API limit of the Free Trial plan.
- {opencage} settings like the OpenCage API key or the API rate limit can be configured with
oc_config(). If you want OpenCage to have no record of the contents of your queries, you can also set theno_recordparameter for the active R session withoc_config()(as opposed to providing the parameter with each function call). Alloc_config()settings can be set more permanently viaoptions()or environment variables, seehelp(oc_config).
Breaking changes
-
opencage_forward(),opencage_reverse(), andopencage_key()are soft-deprecated. -
opencage_forward()andopencage_reverse()will always output strings as characters, i.e. they won’t coerce to factor depending on thestringsAsFactoroption. -
opencage_key()returns the OpenCage API key invisibly. -
NAvalues are not allowed anymore for theplacenameorlatitude/longitudearguments, because OpenCage throws a HTTP 400 ‘bad query’ error when the query is empty (#98).
Minor changes
- The column name for
countrycodesis nowcode, notCode. - HTTP error messages are now returned directly from the API and are therefore always up-to-date. The previously used responses in
code_message, which were stored in {opencage} as external data, have been deleted. For more information on OpenCage’s HTTP status codes see https://opencagedata.com/api#codes. - Fixed two URLs, one of which was rejected on the v0.2.0 submission.
opencage 0.1.2
CRAN release: 2017-05-12
- Added a
abbrvparameter, see https://blog.opencagedata.com/post/160294347883/shrtr-pls.
opencage 0.1.1
- Added a
no_recordparameter, see https://blog.opencagedata.com/post/145602604628/more-privacy-with-norecord-parameter
