Converts longitude and latitude values into addresses. Latitudes must be in the range \(\left[-90, 90 \right]\) and longitudes in the range \(\left[-180, 180 \right]\). Returns one match for each coordinate pair.
Usage
arc_reverse_geo(
x,
y,
address = "address",
full_results = FALSE,
return_coords = TRUE,
verbose = FALSE,
progressbar = TRUE,
outsr = NULL,
langcode = NULL,
featuretypes = NULL,
locationtype = NULL,
custom_query = list()
)Arguments
- x
A numeric vector of longitude values in the range \(\left[-180, 180 \right]\).
- y
A numeric vector of latitude values in the range \(\left[-90, 90 \right]\).
- address
Name of the address column in the output. The default is
"address".- full_results
A logical value indicating whether to return all available API fields. The default,
FALSE, returns only latitude, longitude and address.- return_coords
A logical value indicating whether to return the input coordinates with the results.
- verbose
A logical value indicating whether to display API request details.
- progressbar
A logical value indicating whether to display a progress bar for multiple queries.
- outsr
Spatial reference of the output coordinates. The default is
NULL, which uses the service default. See Details and arc_spatial_references.- langcode
Language of the returned addresses.
- featuretypes
A character vector that limits the possible match types. The default is
NULL, which does not filter by feature type. See Details.- locationtype
Location represented by the output geometry when
featuretypesis"PointAddress"or"Subaddress". Valid values are"rooftop"and"street". The default isNULL.- custom_query
A named list with additional API parameters.
Value
A tibble with one match for each coordinate pair. The API
output fields x and y are named lon and lat. These coordinates
correspond to the matched feature and may differ from the input x and y
values.
See ArcGIS REST API output for field details.
Details
See the ArcGIS REST API documentation for more information and valid values.
outsr
The spatial reference can be specified as a well-known ID (WKID). If not specified, the spatial reference of the output locations is the same as that of the service (WGS 84, that is, WKID 4326).
See arc_spatial_references for values and examples.
featuretypes
See vignette("feature-types", package = "arcgeocoder") for a detailed
explanation of this argument.
This argument restricts the feature types returned by a reverse geocoding
request. Possible values are "StreetInt", "DistanceMarker",
"StreetAddress", "StreetName", "POI", "Subaddress",
"PointAddress", "Postal" and "Locality".
Supply multiple values as a character vector, for example,
c("PointAddress", "StreetAddress").
See also
Geocoding and reverse geocoding functions:
arc_geo(),
arc_geo_categories(),
arc_geo_multi()
Examples
# \donttest{
arc_reverse_geo(x = -73.98586, y = 40.75728)
#> # A tibble: 1 × 3
#> x y address
#> <dbl> <dbl> <chr>
#> 1 -74.0 40.8 178-198 W 44th St, New York, NY, 10036, USA
# Several coordinate pairs.
arc_reverse_geo(x = c(-73.98586, -3.188375), y = c(40.75728, 55.95335))
#>
|
| | 0%
|
|========================= | 50%
|
|==================================================| 100%
#> # A tibble: 2 × 3
#> x y address
#> <dbl> <dbl> <chr>
#> 1 -74.0 40.8 178-198 W 44th St, New York, NY, 10036, USA
#> 2 -3.19 56.0 Thistle & Churn Ice Cream, 1 Waterloo Place, Canongate, Edinburg…
# Use additional API options.
sev <- arc_reverse_geo(
x = c(-73.98586, -3.188375),
y = c(40.75728, 55.95335),
# Restrict results to specific feature types.
featuretypes = "POI,StreetInt",
# Return results in this WKID.
outsr = 102100,
verbose = TRUE, full_results = TRUE
)
#>
|
| | 0%
|
|========================= | 50%
#>
#> Endpoint: https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/reverseGeocode?
#> Parameters:
#> - location=-73.98586,40.75728
#> - f=json
#> - outSR=102100
#> - featureTypes=POI,StreetInt
#> URL: https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/reverseGeocode?location=-73.98586,40.75728&f=json&outSR=102100&featureTypes=POI,StreetInt
#>
|
|==================================================| 100%
#>
#> Endpoint: https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/reverseGeocode?
#> Parameters:
#> - location=-3.188375,55.95335
#> - f=json
#> - outSR=102100
#> - featureTypes=POI,StreetInt
#> URL: https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/reverseGeocode?location=-3.188375,55.95335&f=json&outSR=102100&featureTypes=POI,StreetInt
#>
dplyr::glimpse(sev)
#> Rows: 2
#> Columns: 39
#> $ x <dbl> -73.985860, -3.188375
#> $ y <dbl> 40.75728, 55.95335
#> $ address <chr> "W 44th St & Broadway, New York, NY, 10036, USA", "Thistl…
#> $ lat <dbl> 4976603, 7549116
#> $ lon <dbl> -8236060.8, -354916.9
#> $ Match_addr <chr> "W 44th St & Broadway, New York, New York, 10036", "Thist…
#> $ LongLabel <chr> "W 44th St & Broadway, New York, NY, 10036, USA", "Thistl…
#> $ ShortLabel <chr> "W 44th St & Broadway", "Thistle & Churn Ice Cream"
#> $ Addr_type <chr> "StreetInt", "POI"
#> $ Type <chr> NA, "Restaurant"
#> $ PlaceName <chr> NA, "Thistle & Churn Ice Cream"
#> $ AddNum <chr> NA, "1"
#> $ Address <chr> "W 44th St & Broadway", "1 Waterloo Place"
#> $ Block <chr> NA, NA
#> $ Sector <chr> NA, NA
#> $ Neighborhood <chr> "Midtown", "Canongate"
#> $ District <chr> "Manhattan", NA
#> $ City <chr> "New York", "Edinburgh"
#> $ MetroArea <chr> NA, "Edinburgh"
#> $ Subregion <chr> "New York County", "Midlothian"
#> $ Region <chr> "New York", "Scotland"
#> $ RegionAbbr <chr> "NY", "SCT"
#> $ Territory <chr> NA, NA
#> $ Postal <chr> "10036", "EH1 3EG"
#> $ PostalExt <chr> "4011", NA
#> $ CntryName <chr> "United States", "United Kingdom"
#> $ CountryCode <chr> "USA", "GBR"
#> $ X <dbl> -73.985793, -3.188273
#> $ Y <dbl> 40.75726, 55.95325
#> $ InputX <dbl> -73.985860, -3.188375
#> $ InputY <dbl> 40.75728, 55.95335
#> $ StrucType <chr> NA, NA
#> $ StrucDet <chr> NA, NA
#> $ StrucType1 <chr> NA, NA
#> $ StrucType2 <chr> NA, NA
#> $ StrucDet1 <chr> NA, NA
#> $ StrucDet2 <chr> NA, NA
#> $ wkid <int> 102100, 102100
#> $ latestWkid <int> 3857, 3857
# }
