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()
and oc_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()
and oc_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.output
), so it is possible to serially (reverse) geocode lists of locations or coordinates. The geocoding functions show a progress indicator when more than one placename
or latitude
/longitude
pair is provided.countrycode
s in accordance with the OpenCage API (#44). The countrycode
s can now be provided in upper or lower case (#47).oc_bbox()
now makes it easier to create a list of bounding boxes from numeric vectors, bbox objects or data frames.oc_forward
and oc_forward_df
now support OpenCage’s proximity
parameter. The results of the geocoding request will be biased towards that location (#60).oc_points()
now makes it easier to create a list of point coordinates from numeric vectors or data frames to pass to the proximity
argument for example.roadinfo
parameter (#65). If set to TRUE
, OpenCage attempts to match the nearest road (rather than an address) and provides additional road and driving information.language
argument 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). The languagecodes
, which were stored in {opencage} as external data, have therefore been omitted from the package. In addition, it is now possible to specify language = "native"
, so OpenCage will attempt to return the results in the “official” language of the country.oc_config()
. If you want OpenCage to have no record of the contents of your queries, you can also set the no_record
parameter for the active R session with oc_config()
(as opposed to providing the parameter with each function call). All oc_config()
settings can be set more permanently via options()
or environment variables, see help(oc_config)
.opencage_forward()
, opencage_reverse()
, and opencage_key()
are soft-deprecated.opencage_forward()
and opencage_reverse()
will always output strings as characters, i.e. they won’t coerce to factor depending on the stringsAsFactor
option.opencage_key()
returns the OpenCage API key invisibly.NA
values are not allowed anymore for the placename
or latitude
/longitude
arguments, because OpenCage throws a HTTP 400 ‘bad query’ error when the query is empty (#98).countrycodes
is now code
, not Code
.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.countrycode
argument can be used for Namibia (#24, #25).add_request
parameter (for appending original query to results).abbrv
parameter, see https://blog.opencagedata.com/post/160294347883/shrtr-pls.no_record
parameter, see https://blog.opencagedata.com/post/145602604628/more-privacy-with-norecord-parameterNEWS.md
file to track changes to the package.