Split Address Into Components (Geocoding)

Summary

Splits street address information into address components and creates a table or feature class with the additional components added as unique fields.

Illustration

Split Address Into Components tool illustration

Usage

  • The input address data can be a table or feature class that contains street address attributes that can be parsed or split into individual street address components.

  • You can store the input street address to be split in a single field, such as StreetName or Address, which you select as the input address field in the tool.

  • The input street address can also be in multiple fields such as when the house number and unit information are in separate fields. In this case, the fields are concatenated on the fly in the order they are selected, and the street address is split into its components.

  • Do not include zone information—such as city, neighborhood, subregion, and postal code—in the input street address. These components will not be parsed during processing and will cause incorrect results if they are included.

  • Ensure that the Exceptions File parameter value contains a row for every record that will have a custom parsing pattern. Format the file so it contains the input address field (if you have more than one field, concatenate the values into a single string) followed by the expected split address components. The field names for the split address components must match the following:

    • AddNum
    • StPreDir
    • StPreType
    • StName
    • StType
    • StDir
    • UnitType
    • UnitName
    • BuildingType
    • BuildingUnit
    • LevelType
    • LevelName
    Note:

    Not all fields are required; only those necessary based on the custom address when split into components are required.

    Note:

    For more information, download an example of an exceptions file.

    The first address in the file, 123 South Beach Avenue, is typically split into the following fields:

    AddNumStPreDirStNameStType

    123

    South

    Beach

    Avenue

    The exceptions file, however, will create the following custom split:

    AddNumStNameStType

    123

    South Beach

    Avenue

  • This tool supports parallel processing. If your computer has multiple processors or processors with multiple cores, better performance may be achieved, particularly when splitting addresses in larger datasets. If the Parallel Processing Factor environment is not set (the default), parallel processing is scaled based on the size of the table and number of logical cores. Only one process is used for tables with less than 50 rows, but the tool scales the number of processes used up to the number of logical processors on the machine for tables with many rows. Setting the environment to 0 will disable parallel processing. Specifying a factor between 1 and 99 will cause the tool to identify the percentage of logical cores to use by applying the formula (Parallel Processing Factor / 100 * Logical Cores) rounded to the nearest integer. If the result of this formula is 0 or 1, parallel processing will not be enabled.

  • You can review and update the output file generated by this tool in the Split Address Review pane. This process also allows you to generate or add to an updated exceptions file that can be used in the Exceptions File parameter when splitting data with this tool in the future.

Parameters

LabelExplanationData Type
Country or Region

Specifies the country addressing structure that will be used to split addresses into components.

The default is the regional setting of the operating system.

  • AustraliaThe address structure of Australia will be used.
  • AustriaThe address structure of Austria will be used.
  • BelgiumThe address structure of Belgium will be used.
  • CanadaThe address structure of Canada will be used.
  • SwitzerlandThe address structure of Switzerland will be used.
  • CzechiaThe address structure of Czechia will be used.
  • GermanyThe address structure of Germany will be used.
  • SpainThe address structure of Spain will be used.
  • EstoniaThe address structure of Estonia will be used.
  • FranceThe address structure of France will be used.
  • Great BritainThe address structure of Great Britain will be used.
  • IsraelThe address structure of Israel will be used.
  • ItalyThe address structure of Italy will be used.
  • LithuaniaThe address structure of Lithuania will be used.
  • LatviaThe address structure of Latvia will be used.
  • NetherlandsThe address structure of Netherlands will be used.
  • Puerto RicoThe address structure of Puerto Rico will be used.
  • SwedenThe address structure of Sweden will be used.
  • United States The address structure of United States will be used.
  • South AfricaThe address structure of South Africa will be used.
String
Input Address Data

The table or feature class containing street address information that will be split into individual address components.

Zone information, such as city, neighborhood, subregion, and postal code, is not supported.

Table View
Input Address Fields

The field or fields in the input table or feature class that, when concatenated, will form the street address to be split. Zone information, such as city, neighborhood, subregion, and postal code, is not supported.

The order in which the fields are selected is the order the fields will be concatenated.

String
Output Address Data

The output feature class or table that will contain the split street address data.

Dataset
Exceptions File
(Optional)

The table that contains street parsing exceptions.

The table can be in any supported table format.

Table View

arcpy.geocoding.SplitAddressIntoComponents(country_code, in_address_data, in_address_fields, out_address_data, {in_exceptions})
NameExplanationData Type
country_code

Specifies the country addressing structure that will be used to split addresses into components.

The default is the regional setting of the operating system.

  • AUSThe address structure of Australia will be used.
  • AUTThe address structure of Austria will be used.
  • BELThe address structure of Belgium will be used.
  • CANThe address structure of Canada will be used.
  • CHEThe address structure of Switzerland will be used.
  • CZEThe address structure of Czechia will be used.
  • DEUThe address structure of Germany will be used.
  • ESPThe address structure of Spain will be used.
  • ESTThe address structure of Estonia will be used.
  • FRAThe address structure of France will be used.
  • GBRThe address structure of Great Britain will be used.
  • ISRThe address structure of Israel will be used.
  • ITAThe address structure of Italy will be used.
  • LTUThe address structure of Lithuania will be used.
  • LVAThe address structure of Latvia will be used.
  • NLDThe address structure of Netherlands will be used.
  • PRIThe address structure of Puerto Rico will be used.
  • SWEThe address structure of Sweden will be used.
  • USA The address structure of United States will be used.
  • ZAFThe address structure of South Africa will be used.
String
in_address_data

The table or feature class containing street address information that will be split into individual address components.

Zone information, such as city, neighborhood, subregion, and postal code, is not supported.

Table View
in_address_fields
[in_address_fields,...]

The field or fields in the input table or feature class that, when concatenated, will form the street address to be split. Zone information, such as city, neighborhood, subregion, and postal code, is not supported.

The order in which the fields are selected is the order the fields will be concatenated.

String
out_address_data

The output feature class or table that will contain the split street address data.

Dataset
in_exceptions
(Optional)

The table that contains street parsing exceptions.

The table can be in any supported table format.

Table View

Code sample

SplitAddressIntoComponents example 1 (Python window)

Split a table with single-field address strings into separate components.

import arcpy

atlanta_addresses = r"C:\AtlantaAddresses.csv"
arcpy.geocoding.SplitAddressIntoComponents("USA", atlanta_addresses, "Address", 
                                           r"C:\MySplitAddresses.csv", 
                                           "ExceptionsFile.csv")