将地址分割为组件 (地理编码)

摘要

将街道地址信息分割为地址组件,并创建一个表或要素类,将其他组件添加为唯一的字段。

插图

将地址分割为组件工具图示

使用情况

  • 输入地址数据可以是包含街道地址属性的表或要素类,这些属性可以被解析或分割为单独的街道地址组件。

  • 可以将要分割的输入街道地址存储在单个字段中,例如 StreetNameAddress,您将在工具中选择该字段作为输入地址字段。

  • 输入街道地址也可以存储在多个字段中,例如门牌号和单元信息可以在单独的字段中。 在这种情况下,这些字段按照它们被选择的顺序动态连接起来,然后,街道地址将被分割为组件。

  • 请勿在输入街道地址中包含区域信息,例如城市、社区、子区域和邮政编码。 这些组件在处理过程中不会进行解析,如果将其包含在内,可能导致错误的结果。

  • 对于要为之指定自定义解析模式的每条记录,例外情况文件参数值都应该包含对应的一行。 设置文件的格式以使其包含输入地址字段(如果有多个字段,将这些值连接成单个字符串),后跟预期的分割地址组件。 分割地址组件的字段名称必须与以下内容匹配:

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

    并非所有字段都是必填字段;仅在分割为组件时基于自定义地址所必需的字段才是必填字段。

    注:

    有关详细信息,请下载例外情况文件的示例

    文件中的第一个地址 123 South Beach Avenue 通常会分割为以下字段:

    AddNumStPreDirStNameStType

    123

    South

    Beach

    Avenue

    但是,例外情况文件将创建以下自定义分割:

    AddNumStNameStType

    123

    South Beach

    Avenue

  • 该工具支持并行处理。 如果您的计算机具有多个处理器或处理器具有多个内核,则会获得更好的性能,尤其是在较大数据集中分割地址时。 如果未设置并行处理因子环境(默认设置),则并行处理会根据表的大小和逻辑核心的数量进行缩放。 对于仅使用一个进程的少于 50 行的表,该工具可将使用的进程数扩展到计算机上的逻辑处理器数,从而可以处理多行的表。 将环境设置为 0 将禁用并行处理。 在 1 到 99 之间指定一个因子时,工具将通过应用公式(并行处理因子 / 100 * 逻辑内核数)确定要使用的逻辑内核的百分比,其结果将四舍五入到最近的整数值。 如果此公式的结果是 0 或 1,则将不启用并行处理。

  • 您可以在分割地址审查窗格中查看和更新此工具生成的输出文件。 此过程还允许您生成或添加更新的异常文件,将来使用此工具拆分数据时可在异常文件参数中使用该文件。

参数

标注说明数据类型
国家/地区

指定用于将地址分割为组件的国家/地区地址结构。

默认值为操作系统的区域设置。

  • 澳大利亚澳大利亚
  • 奥地利奥地利
  • 比利时比利时
  • 加拿大加拿大
  • 瑞士瑞士
  • 德国德国
  • 西班牙西班牙
  • 法国法国
  • 大不列颠大不列颠
  • 以色列以色列
  • 荷兰荷兰
  • 美国美国
String
输入地址数据

包含街道地址信息的表或要素类,这些信息将被分割为单独的地址组件。

不支持区域信息,例如城市、社区、子区域和邮政编码。

Table View
输入地址字段

输入表或要素类中的一个或多个字段,连接后将组成要分割的街道地址。 不支持区域信息,例如城市、社区、子区域和邮政编码。

字段的选择顺序即是字段的连接顺序。

String
输出地址数据

将包含已分割街道地址数据的输出要素类或表。

Dataset
例外情况文件
(可选)

包含街道解析例外情况的表。

该表可以采用任何受支持的表格式。

Table View

arcpy.geocoding.SplitAddressIntoComponents(country_code, in_address_data, in_address_fields, out_address_data, {in_exceptions})
名称说明数据类型
country_code

指定用于将地址分割为组件的国家/地区地址结构。

默认值为操作系统的区域设置。

  • AUS澳大利亚
  • AUT奥地利
  • BEL比利时
  • CAN加拿大
  • CHE瑞士
  • DEU德国
  • ESP西班牙
  • FRA法国
  • GBR大不列颠
  • ISR以色列
  • NLD荷兰
  • USA美国
String
in_address_data

包含街道地址信息的表或要素类,这些信息将被分割为单独的地址组件。

不支持区域信息,例如城市、社区、子区域和邮政编码。

Table View
in_address_fields
[in_address_fields,...]

输入表或要素类中的一个或多个字段,连接后将组成要分割的街道地址。 不支持区域信息,例如城市、社区、子区域和邮政编码。

字段的选择顺序即是字段的连接顺序。

String
out_address_data

将包含已分割街道地址数据的输出要素类或表。

Dataset
in_exceptions
(可选)

包含街道解析例外情况的表。

该表可以采用任何受支持的表格式。

Table View

代码示例

SplitAddressIntoComponents 示例 1(Python 窗口)

将具有单字段地址字符串的表分割为单独的组件。


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

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题