The Create Locator tool allows you to combine multiple reference data layers and roles into a single locator to search for multiple types of locations at once.
A multirole locator consists of multiple reference data layers and locator roles. The multirole locator can be used to combine multiple data layers with different geometry types from many sources and multiple locator roles into a single locator. This allows you to have a single locator that can search for rooftop locations, interpolated street locations, points of interest, postal codes, and administrative areas. Creating a multirole locator reduces redundant information and candidates, which can be beneficial for performance and reducing the size of the locator on disk.
Minimize duplicate geocode results with multirole locators
The Create Locator tool extracts detailed information from the reference data used to build a locator. For this reason, you can create a multirole locator that minimizes duplicate geometry or skips less-precise candidates in suggestions and geocode results. This process of minimizing duplication can decrease the size of the locator and improve locator performance and candidate sorting. A composite locator does not have this functionality and will return duplicate candidates for the same location.
For example, using the data above, a composite locator is created with two individual locators based on the Point Address and Street Address roles named SanDiegoComposite. A multirole locator based on the Point Address and Street Address roles is created for both roles named SanDiegoMultiroleZip. The result of searching for 15815 Cope Rd, 92065 in the Locate pane is shown below.
Restore missing attributes from the reference data of other roles
Multirole locators allow you to restore missing attributes that are not available in the reference data that is used for each role specified in the locator. The two methods that the Create Locator tool uses to restore missing attributes when building a multirole locator are using an ID to link attributes between different roles and spatial linking of administrative areas using polygon data.
Use Join ID fields to link the same attributes in different roles
When you create a multirole locator, you can restore missing attributes between reference data layers and roles for features that have the same ID. This functionality occurs when a corresponding field value is missing in the reference data for a specific ID in one role but exists for the same ID in the reference data of a different role. This assumes that the same value of the same ID is assigned to the same feature throughout the reference data. In the data below that is used for the Point Address role, the city name is missing for Yosemite Blvd, so the locator does not return a match or include the city name in the output for this record.
However, if you have reference data for city boundaries that contains the corresponding city value for the same CityID and add the City role to the locator, the Create Locator tool uses the identical CityID values in the City and Point Address reference data to restore Waterford for the Point Address record.
As a result, the input address 12725 Yosemite Blvd, Waterford is matched with a score of 100 in the multirole locator and the missed city name is added in the output.
The values from the ObjectID field in the primary reference data must not be used as the ID to link attributes between different roles when building the locator. Using the values from the ObjectID field can increase the size of the locator and reduce batch geocoding performance as well as geocoding quality.
Use spatial linking to restore missing administrative zone names
Missing administrative zone names can be restored spatially and added to a locator if reference data for the corresponding administrative zone is polygon features and the administrative zone role is added to the multirole locator. The Create Locator tool uses spatial calculations to determine which admin zone polygon includes each address and assign the corresponding admin zone names to each address automatically.
For example, if you are building a locator based on the Point Address role using the reference data below, the record for Yosemite Blvd is missing the city value again. However, this time there is no CityID field that contains the ID to link the data together, which is described in the previous section. However, if the City role that references polygon features is added to the locator, the city values can be restored for the Point Address role spatially.
The point for Yosemite Blvd lies in the polygon defined for Waterford city, so this value is added instead of the empty city name of the original PointAddress feature class. As a result, the multirole locator can match the input address, 12725 Yosemite Blvd, Waterford, with a score of 100 and the missed city name is added in the output:
Restoring values by join ID has a higher priority than spatial calculation when building a locator with the Create Locator tool. As a result, spatial calculation is not performed if there are join ID values available in the reference data and used by the roles participating in the multirole locator.
Composite locator use cases
There may be times when a multirole locator is not suitable for a specific workflow. Specifically, there may be a case when a locator requires multiple reference data layers that require the same type of role and the reference data can't be combined into a single dataset. In this case, you can create multiple individual locators and combine them into a composite locator. For more information about composite locators, see Combine multiple locators into a composite locator.