Sort geocode results and suggestions using a rank field

Rank is used to sort geocode results or suggestions for ambiguous queries, such as Lincoln, in which no additional information (state) is available. Depending on the locator, rank indicates the importance of a result relative to other results with the same name. For example, there are cities in France and Texas named Paris. Paris, France, has a greater population than Paris, Texas, so it has a higher rank. Rank values can be based on population or category and the order of the list comes from a combination of rank and location.

Paris suggestions sorted using rank by population size

Several locator roles in the Create Locator tool include the Rank input field. When the Rank field is mapped, you can define how the locator sorts candidates when geocoding and returning suggestions. You can prioritize features for ranking by modeling a rank value in your reference data. The smaller the rank value associated with the feature, the higher a candidate is placed in the list of candidates returned by the locator. Think of 1 being the top candidate and 99 being a minor candidate.

Note:

In geocoding, sorting by score is preferred over rank. Ranking only works for candidates with the same score.

Rank field requirements

A field in the reference data mapped to the Rank role input field must contain positive numeric values. Although integer numbers are recommended as a first step in assigning rank values, numeric values with decimals can be used, but precision is limited to two digits after the decimal point. Null or empty values are allowed and are converted to zero when the locator is being built. Mapping of nonnumeric values to the Rank field causes an error when building the locator. Having gaps between the rank values assigned to features allows you to adjust the rank values' additional records in the future without having to reassign values for the entire feature class. Using decimals allows you to more carefully fine tune the rank values.

Note:

The locator cannot be created if a field with nonnumeric values is mapped to the Rank role field.

Example: Sorting in a multirole locator

Sorting by rank also works for multirole locators. Rank prioritizes the candidates if the search returns multiple candidates from different roles with the same score.

City and POI data with rank values for a multirole locator

According to the rank values, one candidate from the City role is placed higher than candidates from the POI role in suggestion and geocoding results:

Multirole City and POI locator suggestion and search results using rank values

Choose rank values for reference data

When choosing rank values for your reference, select meaningful values and use those values in the locator you create. If you do not get the desired results, update the rank values based on the geocoded results.