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 is designed to get the most from the reference data used to build a locator. For this reason, you can build a multirole locator that will deduplicate the data when you build the locator to minimize duplicate geometry or skip less-precise candidates in suggestions and geocode results. This deduplication process helps to decrease the size of the locator and improves locator performance and candidate sorting. A composite locator does not have these advantages and will return duplicate candidates for the same location.
For instance, 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 with the ROADSEGID from the reference data mapped to the Street Join ID locator field for both roles named SanDiegoMultiroleZip. The result of searching for 15815 Cope Rd, 92065 in the Locate pane is illustrated 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 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
Creating a multirole locator allows you to 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 is not able to 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 will use 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 ObjectID in the primary reference data should not be used as the ID to link attributes between different roles when building the locator. Using the ObjectID 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 into an address 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 will use spatial calculations to determine which admin zone polygon includes each address and assign the corresponding admin zone names to each address automatically.
If 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. Thus, the multirole locator is able to 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 will not be performed if there are join ID values available in the reference data and used by the roles participating in the multirole locator.
When to use a composite locator instead of a multirole locator
There may be times when a multirole locator will not meet the needs of 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 would want to 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.