Create Composite Address Locator (Geocoding)

Summary

Creates a composite address locator. A composite locator consists of two or more individual locators that allow addresses to be matched against the multiple locators.

Learn more about composite locators

Usage

  • Prior to creating composite address locators, use the Create Locator tool to create participating address locators.

  • Spatial reference for a composite address locator is required. The spatial reference of the first participating address locator is used unless you specify a different output coordinate system in the tool's environment settings.

Parameters

LabelExplanationData Type
Address Locators

The order of the participating address locators determines how candidates are searched and an address is matched. When you geocode a single address, the address will be matched against all participating address locators unless the locator is specified with a selection criterion. All the found candidates will be displayed based on the order of the listed participating address locators. If you geocode a table of addresses, addresses are matched automatically to the first best candidate found from the first participating address locators. If the address fails to match, it will fall back to the subsequent locator in the list.

A reference name for each participating locator is required. This is the name of the locator referred to by the composite locator. The name should contain no space or special symbols. The maximum length of the name is 14 characters.

Value Table
Field Map

The mapping of input fields used by each participating locator to the input fields of the composite locator.

The fields and field contents that are generated by the participating locators. Each of the unique input fields is listed on the Field Map section, and when expanded, you will 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. If there are duplicate fields such as ZIP and Postcode because of the unique names populated from the participating address locators, you may group the subfields by dragging and dropping them to the appropriate Field or use the Arrow Up or Arrow Down button to move the subfield.

Field Mappings
Selection criteria
(Optional)

Selection criteria for each participating locator. Only one selection criterion is supported for each participating locator.

When building a composite address locator, you may wish to specify which address locators are used based on the values of input address fields. For example, if your composite address locator uses a locator that contains street 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. For instance, if a street address locator is specified with a selection criterion as "City" = 'Atlanta', only addresses that contain the city name "Atlanta" will be geocoded against this locator.

To specify a selection criterion, click the box under the Selection Criteria column next to the address locator you want to apply the criterion. You can enter an expression such as "City" = 'Atlanta' in the text box or click the ... button to open the Specify Locator Selection Criteria dialog box and define the criteria.

Value Table
Output Composite Address Locator

The composite address locator to create. ArcGIS Pro only supports saving locators in a file folder.

Address Locator

arcpy.geocoding.CreateCompositeAddressLocator(in_address_locators, in_field_map, {in_selection_criteria}, out_composite_address_locator)
NameExplanationData Type
in_address_locators
[[in_address_locator, name],...]

The order of the participating address locators determines how candidates are searched and an address is matched. When you geocode a single address, the address will be matched against all participating address locators unless the locator is specified with a selection criterion. All the found candidates will be displayed based on the order of the listed participating address locators. If you geocode a table of addresses, addresses are matched automatically to the first best candidate found from the first participating address locators. If the address fails to match, it will fall back to the subsequent locator in the list.

A reference name for each participating locator is required. This is the name of the locator referred to by the composite locator. The name should contain no space or special symbols. The maximum length of the name is 14 characters.

Value Table
in_field_map

The mapping of input fields used by each participating locator to the input fields of the composite address locator.

Field Mappings
in_selection_criteria
[[in_address_locator, selection_criteria],...]
(Optional)

Selection criteria for each participating locator. Only one selection criterion is supported for each participating address locator.

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. Refer to the topic Fundamentals of combining multiple locators into a composite locator to learn more about the use of selection criteria in the geocoding process.

Value Table
out_composite_address_locator

The composite address locator to create. ArcGIS Pro only supports saving locators in a file folder.

Address Locator

Code sample

CreateCompositeAddressLocator example (Python window)

The following Python window script demonstrates how to use the CreateCompositeAddressLocator function in immediate mode.

# Create a composite address locator using the StreetMap US Streets and Tutorial Atlanta locators.

# Import system modules
import arcpy 

arcpy.env.workspace = "C:/ArcTutor/Geocoding/atlanta/"

# Set local variables:
US_Streets_locator = "C:/dm_stmap_dvd/streetmap_na/data/Street_Addresses_US"
Atlanta_locator = Atlanta
Atlanta_Composite = US_Atlanta_Composite

arcpy.CreateCompositeAddressLocator_geocoding("Atlanta_locator Atlanta;US_Streets_locator US_Streets", "Address 'Street or Intersection' true true false 100 Text 0 0 ,First,#,Atlanta_locator,Address,0,0,US_Streets_locator,Street,0,0;City 'City or Placename' true true false 40 Text 0 0 ,First,#,Atlanta_locator,City,0,0,US_Streets_locator,City,0,0;State 'State' true true false 20 Text 0 0 ,First,#,Atlanta_locator,State,0,0,US_Streets_locator,State,0,0;Zip 'Zipcode' true true false 10 Text 0 0 ,First,#,Atlanta_locator,Zip,0,0,US_Streets_locator,ZIP,0,0","Atlanta '\"City\" = 'Atlanta'';US_Streets #",Atlanta_Composite)

Licensing information

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

Related topics