Fundamentals of reverse geocoding

Identifying a readable address or place-name from a point location is the process of reverse geocoding. Reverse geocoding allows you to discover nearby addresses; street names; intersections; places; and subdivisions such as neighborhoods, counties, states, or postal codes based on optimized distance values. Reverse geocoding can be done interactively by clicking the map or in batch mode with a collection of features.

Note:

Locators such as the ArcGIS World Geocoding Service, ArcGIS World Geocoder, new ArcGIS StreetMap Premium locators, and locators created with the Create Locator tool use optimized distance values.

Interactive reverse geocode results

Reverse geocode details

The purpose of reverse geocoding is to answer the question, What's here? or if the location is not directly on top of a feature, What's near this location? To best answer this question, reverse geocoding returns the most relevant feature near an input location based on a prioritized hierarchy of feature types. With a few exceptions, the same feature types that can be returned by finding places and addresses can also be returned by reverse geocoding, such as when using the Reverse Geocode geoprocessing tool or interactive reverse geocoding using the What's here? tool. If the location is within the extent of the reference data used to build the locator, a single feature is always returned, even if the location is far from any streets or places. If there are no streets near the input location, large area features such as parks, universities, zoos, or airports may be returned. If the location is not within the boundary of this type of feature, a postal code or administrative area (such as a city) is returned.

Note:

Using polygon geometry to represent large features such as parks, zoos, cities, and postal codes in the primary reference data for the locator returns optimal reverse geocoding results.

The hierarchy is summarized in the table below, ordered by descending priority. Unless otherwise noted, each feature type is only returned when the distance between the input location and the feature is within the tolerance specified in the Search Tolerance column. The search tolerances listed in the hierarchy table are used for multirole locators, while single role locators that support a single feature type and locators created with the Create Feature Locator tool use a search distance of 500 meters. There are some roles available in the Create Locator tool that support more than one feature type, such as Point Address, which may return Subaddress features, or the Street Address role, which may return StreetInt.

Note:

The label for StreetAddress matches includes the house number range for the matching street segment, rather than the interpolated house number value. For instance, reverse geocoding the location -117.196324,34.059217 returns a StreetAddress match with label 1001-1199 W Park Ave. This means that the matching segment has a possible range of house numbers from 1001 to 1199.

Note:

If there are multiple Subaddress features with the same x,y value stacked on top of each other intersected by a reverse geocode location, the label for a Subaddress candidate includes the range of unit numbers for all subaddress records in the stack. For instance, reverse geocoding the location 151.073457,-33.916374 returns a Subaddress match with label 28 Hampden Rd, Unit 1-8. It means there are multiple subaddresses at the location with unit numbers such as Unit 1, Unit 2, Unit 3... up to Unit 8.

Note:

The Preferred city name and Preferred street name property options specified in the Locator Properties are applied to reverse geocode results.

Feature types

Feature types are used to limit the possible match types returned by reverse geocoding. Valid values are listed in the feature type hierarchy table. Single or multiple values can be included in the request. If a single value is included, the search tolerance for the input feature type is 500 meters. If multiple values are included, the default search distances specified in the feature type hierarchy table are applied. To see the supported feature types that a local locator can use for reverse geocoding, go to the features to support for reverse geocoding setting on the Locator Properties dialog box on the Geocoding options page.

Note:

Not all feature types are supported for all locators.

Feature type hierarchy

The hierarchy is summarized in the table below, ordered by descending priority. Unless otherwise noted, each feature type is only returned when the distance between the input location and the feature is within the tolerance specified in the Search Tolerance column. The search tolerances listed in the hierarchy table are used for multirole locators, while single-role locators that support a single feature type and locators created with the Create Feature Locator tool use a search distance of 500 meters. There are some roles available in the Create Locator tool that support more than one feature type, such as Point Address, which may return Subaddress features, or the Street Address role, which may return Street Intersection.

Feature typeSearch toleranceComments

StreetInt

10 meters

Intersections are only returned when Feature Type Street Intersection is selected in the tool or on the Locator Properties dialog box.

StreetAddress (near), DistanceMarker, or StreetName

3 meters

Candidates of type StreetName are only returned when Feature Type Street Name is selected in the tool or on the Locator Properties dialog box.

POI centroid

25 meters

A business or landmark that can be represented by a point.

Parcel centroid

25 meters

A plot of land that can be represented by a point.

Subaddress

10 meters

Subaddress candidates, which can be features such as apartments or floors in a building, are not returned if multiple subaddresses exist at the same x,y location and one of the following conditions is met:

  • The subaddress units cannot be collapsed into a contiguous range.
  • The subaddresses have different street address, postal code, or administrative zone values.

PointAddress

50 meters

A PointAddress match is not returned if it is on the opposite side of the street from the input location, even if it is within 50 meters of the location.

StreetAddress (distant), DistanceMarker, or StreetName

100 meters

Candidates of type StreetName are only returned if Feature Type Street Name is selected in the tool or on the Locator Properties dialog box.

POI area

Within boundary

A business or landmark that can be represented by an area, such as a large park or university. This is not available unless supported by the data used to build the locator.

Parcel area

Within boundary

A plot of land that can be represented by an area, such as a parcel or tax lot. This is not available unless supported by the data used to build the locator.

Postal or Locality area

Within boundary

If the input location intersects multiple boundaries, the feature with the smallest area is returned.

Feature type hierarchy visualization

The images below can help to visualize the reverse geocoding feature type hierarchy.

The following image shows a section of a typical map on which you can click or add points for reverse geocoding.

Street map image showing location of reverse geocoding examples

The following image shows what the same map looks like with the available features for reverse geocoding highlighted: blue dots for StreetInt features, pink dots for POI centroids, green dots for PointAddress features, red lines for street segments, and a brown polygon representing a POI area feature.

Features that can be reverse geocoded are highlighted.

In the following image, buffers have been created around the features based on the search tolerance values from the hierarchy table to illustrate the match types that would be returned for various reverse geocoding input locations. Refer to the following examples to see the expected matches for the input locations in the image:

Buffers illustrating the search tolerance of different feature types for reverse geocoding

For each number callout in the image above, there is a corresponding example with the same number.

Example input location 1: Match to POI centroid returned

In this example, which corresponds to callout 1 in the image above, the input location is within the search tolerance of both POI and PointAddress features, but a match to the POI centroid is returned because it has a higher priority.

Example input location 2: Match to POI area returned

In this example, which corresponds to callout 2 in the image above, the input location is within a POI area feature, so a POI match is returned.

Example input location 3: StreetAddress match returned

In this example, which corresponds to callout 3 in the image above, the input location intersects a POI area feature and a StreetAddress buffer. A StreetAddress match is returned since it has a higher priority than POI areas.

Example input location 4: PointAddress match returned

In this example, which corresponds to callout 4 in the image above, the input location is within the search tolerance of a PointAddress feature, so a PointAddress match is returned.

Example input location 5: Locality match returned

In this example, which corresponds to callout 5 in the image above, the input location is outside the tolerance of address and POI features, so the service returns a match to the smallest (by area) administrative or postal boundary feature that the location intersects. In this case, a match to the Live Oak Canyon neighborhood is returned.

Example input location 6: StreetAddress match returned

In this example, which corresponds to callout 6 in the image above, the input location is within the tolerance of both StreetInt and StreetAddress features. Even though StreetInt has a higher priority than StreetAddress, a StreetAddress match is returned. This is because intersection matches are only returned by the Reverse Geocode tool if Street Intersection is selected for the Feature Type parameter.

Return specific output features

Locators built with the Create Locator geoprocessing tool are configured to return the most relevant address or place for a given reverse geocode input location. However, you may want more control over reverse geocode results. For instance, you may want to choose the features that are returned when reverse geocoding a location. Or perhaps the search tolerances mentioned in the previous table are not sufficient and you want more distant addresses to be returned. Maybe you want to return Street Intersection matches. You can use the Feature Type parameter in the Reverse Geocode tool to satisfy these requirements by refining reverse geocode results. To refine reverse geocoding results returned from a multirole locator when interactively reverse geocoding using the What's here? tool, change the features to support for reverse geocoding setting on the Locator Properties dialog box on the Geocoding options page.

You can use the Feature Type parameter to specify one or more match types to be returned by the Reverse Geocode tool. If one value is included for Feature Type, the search tolerance is extended to 500 meters. If the locator is a single-role locator that only supports a single feature type, such as the Parcel or Distance Marker roles, the search tolerance of 500 meters is used for either interactive or batch reverse geocoding. If the Feature Type parameter includes multiple values, the search tolerances defined in the feature types hierarchy table above are used. The logic used by the Feature Type parameter is described in more detail below.

Note:

If the locator is a single-role locator that only supports a single feature type, the Feature Type parameter is not displayed in the Reverse Geocode tool. This also applies to locators built with the Create Feature Locator tool.

Feature type match conditions

The following match conditions are based on the roles and feature types that are supported by the locator:

  • If no feature type is selected, the match is based on the default feature type hierarchy and search tolerances defined in the feature type hierarchy table, excluding Street Intersection. Street Intersection matches are only returned if Street Intersection is included in the reverse geocode operation. You can modify the locator property to ensure street intersections are returned in the What's here? pop-up, and you can pass Street Intersection as a parameter in the Reverse Geocode geoprocessing tool to ensure that feature type is included in results of that operation.
  • If only a single feature type is supported by the locator or is enabled in the Locator Properties dialog box, a search tolerance of 500 meters is used and only the input feature type is searched for.
    • If the input feature type exists within 500 meters of the input location, a match to that feature is returned.
    • If there are no matches to the input feature type within 500 meters of the input location, no match is returned for the reverse geocode operation.
  • If multiple feature types are enabled, the default search tolerances for the input feature types as defined in the feature type hierarchy table are used to determine the match.
    • If the input location is within the search tolerance of only one of the input feature types, a match to that feature type is retuned.
    • If the input location is within the search tolerance of multiple input feature types, a match to the input feature type with the highest priority is returned.
    • If the input location is not within the search tolerance of any of the input feature types, no match is returned.

Related topics