Releases: jessecambon/tidygeocoder
Releases · jessecambon/tidygeocoder
tidygeocoder 1.0.5
- Corrected documentation for the
quiet
parameter ingeo()
andreverse_geo()
. - To fix an issue that occurred on Mac CRAN checks (#152) the vignette is now precomputed so that it does not run during
R CMD check
(ie.devtools::check()
). - Changed some default parameter values to facilitate the use of the memoise package (#154, @dpprdan).
tidygeocoder 1.0.4
New Features
- Added support for the Geoapify service (thanks @dpprdan). This service supports batch geocoding, but this capability is currently not implemented in tidygeocoder (see #119).
- Added the functions
geocode_combine()
andgeo_combine()
to combine the results of multiple geocoding queries. These functions are meant to replacegeo(method = "cascade")
. - Deprecated
method = "cascade"
and thecascade_order
,param_error
, andbatch_limit_error
arguments forgeo()
. - Deprecated the
return_type
,geocodio_v
,mapbox_permanent
,mapquest_open
,iq_region
, andhere_request_id
arguments in favor of the newapi_options
parameter for thegeo()
andreverse_geo()
functions. - Added a
api_options = list(geocodio_hipaa = TRUE/FALSE))
option togeo()
andreverse_geo()
functions to allow the toggling of the HIPAA-compliant Geocodio API endpoint (#137).
Console Output
- Added a progress bar for single input geocoding (ie. not batch geocoding) (#38). The progress bar can be disabled with
progress_bar = FALSE
(a new parameter for thegeo()
andreverse_geo()
functions). Similar to the readr package, progress bars are shown by default if the session is interactive and the code being run is not part of an RStudio Notebook chunk or R Markdown knitting process. - Some console messages related to geocoding queries are now shown by default. These messages show the number of inputs (addresses or coordinates) submitted, the geocoding service used, and how long the query took to execute. To suppress these messages you can set
quiet = TRUE
(a new parameter for thegeo()
andreverse_geo()
functions). - Default arguments with
options()
forverbose
,quiet
, andprogress_bar
. For instanceoptions(tidygeocoder.verbose = TRUE)
changes the default value ofverbose
from FALSE to TRUE.
Bugfixes
tidygeocoder 1.0.3
New Features
- Added support for reverse geocoding with the new
reverse_geo()
andreverse_geocode()
functions. - Added support for the OpenCage geocoder service (#67) (thanks @dpprdan).
- Added support for the HERE (#74), Mapbox (#71), MapQuest (#85), TomTom (#76), Bing (#92), and ArcGIS (#98) geocoder services (thanks @dieghernan). Note that currently the batch geocoding capabilities for the Mapbox and ArcGIS services are not currently implemented (see #73 and #102).
- Added the
mapbox_permanent
,here_request_id
, andmapquest_open
parameters to thegeo()
andreverse_geo()
functions.
- Added the
- The
limit
argument can now be used with the "google" and "census" methods to control the number of results returned. These two services do not have limit arguments in their APIs so the limit is applied after the results are returned. batch_limit
is now automatically set according to the specified geocoder service unless otherwise specified.
Other Changes
- Changed default
method
to"osm"
(Nominatim) for thegeo()
function (it was previously"census"
). - The
geo_<method>
functions are now deprecated. - Added the
return_input
argument togeocode()
andreverse_geocode()
to provide more flexibility when using dataframes as inputs in geocoder queries. limit = NULL
can now be passed to use the defaultlimit
value for the geocoder service.- Added the
min_time_reference
,batch_limit_reference
,api_key_reference
, andapi_info_reference
datasets to more accessibly store values formin_time
,batch_limit
, the names of environmental variables for API keys, and information for documentation (such as API documentation links). geocode()
andreverse_geocode()
now requirelimit = 1
(default) unlessreturn_input = FALSE
. This fixes a bug where geocoding results could be misaligned with the input dataset whenlimit > 1
. (#88).- If the number of unique addresses or coordinates exceeds the batch query limit then an error is thrown by default. For forward geocoding, this behavior can be toggled with the new
batch_limit_query
argument in thegeo()
function andbatch_limit_query
is set to FALSE if using the "cascade" method. Whenbatch_limit_query
is FALSE then the batch query is limited to the batch limit and executed. In the past, all batch queries that exceeded the batch query limit would be limited to the batch limit and no error was thrown. - The
address_list
argument ofquery_api()
has been renamed toinput_list
to reflect that it is used for both forward and reverse queries when using the Geocodio service for batch geocoding. - The
query_api()
function now returns a named list which contains the response content (content
) and the HTTP status code (status
). Thegeo()
andreverse_geo()
functions now use the HTTP status code directly to determine if a response is valid. - Added external tests to more thoroughly test the package with live queries (internal package tests don't run queries).
- Added functions to generate package documentation from built-in datasets (ex. the methods documentation in
geo()
andreverse_geo()
). - Converted package documentation from standard roxygen syntax to Markdown.
Yodeling Yak
- Added support for the Google geocoder service (#34) (thanks @chris31415926535).
- An error is now thrown if invalid parameters are passed to geocoder services (the parameters checked are limit, address, street, city, county, state, postalcode, and country) (#53). This behavior can be toggled with the new
param_error
parameter ingeo()
(orgeocode()
). - Leading zeros on Census FIPs geography columns are now preserved (#47).
- Bug fix for
custom_query
argument with Geocodio batch geocoding (#48). - Bug fix for vctrs datatype error with cascade method (#49).
- Added more comprehensive testing for internal package functions such as package_addresses, unpackage_addresses, and get_api_query (#58).
- Per CRAN request,
order()
is no longer called on data frames (#57).
Harmonizing Hamster
- Fixed an issue that prevented installation on R < 4.0. (#35).
- Updated package documentation. Added examples to utility functions
query_api()
andget_api_query()
.
Expansive Egret
New Functionality
- New geocoder services: Support for the Geocodio and Location IQ services has been added.
- Batch geocoding (geocoding multiple addresses per query) is now available for both the Census and Geocodio services.
- Full results from the geocoder services can now be returned by using
full_results = TRUE
. This will return all data provided by the geocoder service instead of just latitude and longitude coordinates. Additionally, thereturn_type = 'geographies'
argument for the Census geocoder will return geography columns. - Address component arguments: As an alternative to specifying a single-line address, address component arguments are now supported (
street
,city
,county
,postalcode
,country
). - Customizable queries: Geocoding queries can now be customized using the
limit
andcustom_query
arguments (see thegeo()
function for details). - Smart address handling: Only unique addresses are passed to geocoder services, but the rows in the original data are preserved.
- Usage limits: The OSM and IQ services by default are now limited to submitting one query per second (per the
min_time
argument ingeo()
) to respect usage limits. This should fix the past issue of users being locked out of the OSM service due to usage limit violations. - The
cascade
method can now be customized by using thecascade_order
argument (seegeo()
documentation) - Custom API URLs can now be specified. This will allow users to specify their own local Nominatim server, for instance.
- The parameters passed to the geocoder service are now displayed to the console when
verbose = TRUE
Under the Hood Improvements
- Reduced dependencies: The package has been overhauled so that the only remaining dependencies are
tibble
,dplyr
,jsonlite
, andhttr
. The package no longer has direct dependencies ontmaptools
,stringr
,purrr
,tidyr
, andrlang
. - All geocoding queries are now directly executed by
httr
. The inbuiltapi_parameter_reference
dataset is used to map standard "generic" parameter names to the parameter names used by each specific geocoder service. - All geocoding functionality has been centralized in the
geo()
function. Users can still usegeocode()
,geo_osm()
, andgeo_census()
as before. However,geo_osm()
andgeo_census()
are now just convenience functions that callgeo()
andgeocode()
passes all addresses togeo()
for geocoding.
Marginal Malamute
Per CRAN request, fixed an issue where the example for R/geocode.R failed. Only change required was to add a library(dplyr)
statement. In the future, run_examples(test=TRUE)
can be used to check that all examples can run properly (even if a //donttest tag is used the code still needs to be able to run).
Iterative Iguana
Per CRAN request:
- Replaced print() with warning() to make suppressing console output possible.
- Replaced \dontrun with \donttest in .R files