Create Composite Address Locator (Geocoding)


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


  • 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.


arcpy.geocoding.CreateCompositeAddressLocator(in_address_locators, in_field_map, {in_selection_criteria}, out_composite_address_locator)
ParameterExplanationData Type
[[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

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

Field Mappings
[[in_address_locator, selection_criteria],...]

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

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