Creating a composite address locator
A composite address locator consists of two or more individual address locators and/or geocode services. When addresses are geocoded against the composite address locator, they are automatically matched against each of the individual address locators and services. The composite address locator stores only references to the participating address locators and geocode services; it does not contain the actual address information, indexes, and data of the individual locators.
Composite address locators can be created in any workspace, such as a geodatabase or file folder. Although it is not required that you save the composite address locator in the same workspace as the participating address locators, it is a good practice to do since managing and distributing composite address locators is easier.
Building a composite address locator consists of a few broad steps:
- creating individual address locators or identifying existing address locators or geocode services
- using the Create Composite Address Locator tool to specify the participating address locators
- mapping the input address fields
- defining the selection criteria (optional)
- specifying the output composite address locator name.
To build a composite address locator, you begin with existing address locators. While in the initial phases of building your composite address locator, you should plan your search process. For example, you can search an address locator containing local road data first; then, if no satisfactory results appear, you can have the address searched by an address locator containing statewide or national roads. Finally, you may want to use an address locator that will search for a specific zone, such as postal code or city.
When building a composite address locator, you may want to specify which address locators are used based on the values of input address fields. For example, if your composite address locator uses a standard address locator that contains road data for a specific city, you may want to filter out any addresses that do not have that particular city name. Using selection criteria will disqualify participating address locators that do not meet the criteria on a particular address so that the geocoding process will be more efficient. If no selection criteria are specified, addresses will be geocoded against all the participating address locators when the address is searched interactively, for example, from the Find dialog box.
Selection criteria are used when a table of addresses is geocoded. They do not apply when finding addresses in a single-line input in ArcMap.
The following steps show how to create a composite address locator:
- Open the Create Composite Address Locator dialog box by using a context menu command or a geoprocessing tool.
- To open the dialog box using a context menu command, right-click a file folder or a geodatabase in ArcCatalog or the ArcMap Catalog window, point to New, then click Composite Address Locator.
- To open the dialog box using a geoprocessing tool, browse to the Geocoding toolbox in the Catalog window in ArcMap or ArcCatalog and double-click the Create Composite Address Locator tool.
The Create Composite Address Locator dialog box opens.
- Click the Browse button next to the Address Locators text box.
The Address Locators dialog box opens.
- Navigate to the folder that contains the address locator or geocode service you want to add to the composite address locator. Select the address locator or service and click Add.
- Repeat step 3 until you have added all the locators or services that you want to participate in the composite address locator.
When a participating address locator is added to the dialog box, it is automatically given a name, as shown in the Name column. In the process of geocoding a table of addresses, the name of the individual address locator that the address was geocoded against is stored as an attribute in the output feature class. Optionally, you can click the name and change it. The name cannot contain spaces or special symbols. The maximum length of the name is 14 characters.
The order in which the address locators are listed under Participating Address Locators determines the order in which they are used in the geocoding process. The address locator at the top of the list will be used first, and so on.
- If needed, modify the order in which the participating address locators are listed using the Up arrow or Down arrow button to specify the order in which they will be used to search for an address.
Each participating locator may specify a different set of input fields for geocoding. When you add the participating address locators to the dialog box, the input fields are automatically created and mapped. The fields and field contents are generated by the participating address locators. Each of the unique input fields is listed in the Field Map section, and when expanded, you see a list of all the input field occurrences (subfields) for each participating address locator. These fields are the input fields for the composite address locator.
You can review the field mappings and decide if you need to modify the setting. The composite locator creates input fields with some default field names and properties. The field names Address, City, State, and ZIP shown in the following illustration are the names populated by the first participating locator—Atlanta—added to the dialog box. When the US_Street_Addr locator is added subsequently, it populates a new unique field named ZIPCode. Since the field ZIPCode should indeed be the same as ZIP, the US_Street_Addr.ZIP subfield should be mapped or regrouped to the ZIP input field. The following step discusses how to move a participating locator subfield to a different input field as part of the process of field mappings.
Map the input address fields of the participating address locators.
Review the input fields of each participating address locator and determine the total input fields for the composite address locator. These fields are displayed on the Geocode Addresses dialog box as the input fields for the composite address locator.
Field mapping may involve moving or regrouping a participating locator input field to the appropriate input field for the composite locator. To do so, select the subfield for the participating locator you want to move and, holding the left mouse button, drag the subfield to the appropriate Field list or use the Up arrow or Down arrow button to move the subfield.
After you finish mapping the fields, if you need to delete a field that is no longer used, select the field you want to delete and click the Delete button .
The composite locator creates input fields with some default field names and properties. Each field contains an alias name, that is, the name to be displayed on the Geocode Addresses dialog box. You can modify the properties of the field. Right-click the field name and click Properties in the context menu to open the Add Input Field dialog box so you can edit the properties.
If you need to create a new input field for the composite locator, follow the substeps below:
- Click the Add button to open the Add Input Field dialog box.
- Type the name of the input address field in the Name text box. The name should contain no spaces or special symbols. The maximum length of the name is 32 characters.
- Edit the Alias text box if you want to change the name that will be displayed in the Geocode Addresses dialog box. The alias name can contain spaces or special symbols.
- Specify the size (in characters) of the input field.
- Specify if the input field is a required field when geocoding a table of addresses using the check box provided.
- Click OK. This closes the Add Input Field dialog box and adds the field to the field name list.
- After the new field is created, you can drag the subfield of the participating locator to this new input field or use the Up arrow or Down arrow button to move the subfields.
Setting selection criteria is enabled after field mappings are completed. Only one selection criterion is supported for each participating address locator.
Specify the selection criteria (optional).
- Select a participating address locator for which you want to specify selection criteria.
- Click the box in the Selection Criteria column next to the participating address locator. Click the Ellipsis button to open the Specify Locator Selection Criteria dialog box.
- Define the selection criteria for the address locator using the available buttons or by entering the information in the text box. If an input address does not meet the criteria, the address is not matched against this address locator.
Click OK. Repeat this process for other address locators for which you want to specify selection criteria.
Instead of using the Specify Locator Selection Criteria dialog box, you can also type the expression, such as "City" = 'Atlanta', in the text box.
- The tool automatically assigns a name and location for the output composite address locator. If you want to change the name or location, click the Browse button in the Output Address Locator section. Navigate to the folder or geodatabase in which you want to save the address locator and specify a new name for the locator.
Click OK to initiate the process of creating the composite address locator.
The composite address locator is saved in the workspace you selected when the process finishes and it is added to the map if you started the process from ArcMap.
A composite address locator can be published as a geocode service using ArcGIS for Server. This requires an ArcGIS for Server license.
When selecting participating address locators, you can choose to reference another composite address locator. However, be sure that you do not loop address locators. For example, if composite address locator A uses composite address locator B as a participating address locator, and composite address locator B uses composite address locator A as a participating address locator, a repeating loop is created and geocoding will fail.
The maximum number of participating address locators in a composite locator is 30, but it is recommended not to use more than 10, otherwise geocoding may be significantly slower.