Determines the address for a given point.
reverse_geocode(
locations,
crs = sf::st_crs(locations),
...,
lang_code = NULL,
feature_type = NULL,
location_type = c("rooftop", "street"),
preferred_label_values = c("postalCity", "localCity"),
for_storage = FALSE,
geocoder = default_geocoder(),
token = arc_token(),
.progress = TRUE
)
An sf object.
an sfc_POINT
object of the locations to be reverse geocoded.
the CRS of the returned geometries. Passed to sf::st_crs()
.
Ignored if locations
is not an sfc_POINT
object.
unused.
default NULL
. An ISO 3166 country code.
See iso_3166_codes()
for valid ISO codes. Optional.
limits the possible match types returned. Must be one of
"StreetInt"
, "DistanceMarker"
, "StreetAddress"
, "StreetName"
,
"POI"
, "Subaddress"
, "PointAddress"
, "Postal"
, or "Locality"
. Optional.
default "rooftop"
. Must be one of "rooftop"
or "street"
.
Optional.
default NULL. Must be one of "postalCity"
or "localCity"
. Optional.
default FALSE
. Whether or not the results will be saved
for long term storage.
default default_geocoder()
.
an object of class httr2_token
as generated by auth_code()
or related function
default TRUE
. Whether a progress bar should be provided.
This function utilizes the
/reverseGeocode
endpoint of a geocoding service. By default, it uses
the public ArcGIS World Geocoder.
Intersection matches are only returned when feature_types = "StreetInt"
. See REST documentation for more.
Specifies whether the output geometry shuold be the rooftop point or the street entrance location.
The location_type
parameter changes the geometry's placement but does not
change the attribute values of X
, Y
, or DisplayX
, and DisplayY
.
Very Important
The argument for_storage
is used to determine if the request allows you to
persist the results of the query. It is important to note that there are
contractual obligations to appropriately set this argument. You cannot save
or persist results when for_storage = FALSE
(the default).
The /reverseGeocode
endpoint can only handle one address at a time. To
make the operation as performant as possible, requests are sent in parallel
using httr2::req_perform_parallel()
. The JSON responses are then processed
using Rust and returned as an sf object.
# Find addresses from locations
reverse_geocode(c(-117.172, 34.052))
Run the code above in your browser using DataLab