标准化地址 (地理编码)

摘要

对表或要素类中的地址信息进行标准化。

将参考数据中的地址组件标准化为多个地址字段,是在 ArcGIS Desktop 10.0 之前版本中构建地址定位器之前的必要步骤。现在我们不再需要此步骤,因为标准化过程会在构建地址定位器时发生,无论地址组件是存储在单个字段中还是分割到多个字段中均是如此。在 ArcGIS Desktop 10.0 和更高版本中不推荐对参考数据进行标准化和对缩写和时间段进行归一化,原因是现在地理编码过程中已完成了上述操作,并且上述操作不会使地理编码的性能或质量再有任何提升。

地址通常显示为不同的形式,可能包含各种单词缩写,例如,W 是 WEST 的缩写,而 ST 是 STREET 的缩写。根据所选的地址样式,可将地址拆分为多个部分,例如门牌号、前缀方向、前缀类型、街道名称、后缀类型、单元类型和单元编号。地址样式用于指定地址的组成部分并确定如何对这些组成部分进行排序和标准化;然而,我们无法保证要如何基于地址定位器样式和输入数据中的逻辑对数据进行标准化。某些地址样式可能使用整个单词,而不使用单词的缩写,具体取决于应用程序。

要进行标准化的输入地址可以存储在单个字段中。如果地址信息已被分开存储在输入要素类或表的多个字段中,则可使用此工具将这些字段动态串连在一起并对该信息进行标准化处理。

插图

标准化地址

使用情况

  • 输入地址数据可以是表或要素类,这些表或要素类包含可根据地址定位器样式进行标准化的各种地址属性。

  • 要进行标准化的输入地址可以存储在单个字段(例如,自定义地址表中的地址字段)中。然后,可选择该字段作为此工具中的输入地址字段

    如果地址信息已被分开存储在输入要素类或表的多个字段(可在常见的参考街道或点地址数据中找到)中,则在标准化过程中,会将这些字段动态串连在一起并对该信息进行标准化处理。按照完整地址的构成顺序来指定这些字段。

    注:

    使用处理街道地址的地址定位器样式时,您可能需要指定一个门牌号字段或任意类型的数值字段作为输入地址字段并指定一些其他地址属性,这样,便可正确地对串连的地址进行标准化。以输入字符串 17 Mile Road 为例,如果没有给出门牌号,Mile(而不是 17 Mile)可能被解释为一个街道名。如果输入地址为 101 17 Mile Road,则可避免发生这种混淆。ObjectID 字段是可用于此目的的数值字段,如上图所示。

  • 可将标准化结果保存在以下两个输出选项中:

    • 包含输入表中行副本或要素副本以及标准化地址字段的输出表或要素类。这是默认设置。
    • 只包含标准化地址字段和一个用于连接输入表或要素类的关系类的输出表。

参数

标注说明数据类型
输入地址数据

包含要进行标准化的地址信息的表或要素类。

Table View
输入地址字段

输入表或要素类中的一组字段,这些字段串连起来便可构成要进行标准化的地址。

String
地址定位器样式

要用于对输入表或要素类中的地址信息进行标准化的地址定位器样式。

Address Locator Style
输出地址字段

要包含在输出表或要素类中的一组标准化地址字段。

String
输出地址数据

创建要用来包含标准化地址字段的输出表或要素类。

Dataset
动态输出数据
(可选)

指示是创建静态输出数据集还是动态输出数据集。

  • 未选中 - 创建的输出表或要素类包含输入表中的行副本或要素副本以及标准化地址字段。这是默认设置。
  • 选中 - 创建的表包含标准化地址字段和一个用于连接输入表或要素类的关系类
    注:

    仅当输入数据集和输出数据集存储在同一地理数据库工作空间中时,此选项才处于活动状态。

Boolean

arcpy.geocoding.StandardizeAddresses(in_address_data, in_input_address_fields, in_address_locator_style, in_output_address_fields, out_address_data, {in_relationship_type})
名称说明数据类型
in_address_data

包含要进行标准化的地址信息的表或要素类。

Table View
in_input_address_fields
[in_input_address_field,...]

输入表或要素类中的一组字段,这些字段串连起来便可构成要进行标准化的地址。

String
in_address_locator_style

要用于对输入表或要素类中的地址信息进行标准化的地址定位器样式。

Address Locator Style
in_output_address_fields
[in_output_address_fields,...]

要包含在输出表或要素类中的一组标准化地址字段。

String
out_address_data

创建要用来包含标准化地址字段的输出表或要素类。

Dataset
in_relationship_type
(可选)

指示是创建静态输出数据集还是动态输出数据集。

  • Static创建的输出表或要素类包含输入表中的行副本或要素副本以及标准化地址字段。这是默认设置。
  • Dynamic创建的表包含标准化地址字段和一个用于连接输入表或要素类的关系类
    注:

    仅当输入数据集和输出数据集存储在同一地理数据库工作空间中时,才支持此选项。

Boolean

代码示例

StandardizeAddresses 示例(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 StandardizeAddresses 函数。

import arcpy
arcpy.env.workspace = "C:/ArcTutor/geocoding/atlanta.gdb"
# Set local variables:
input_feature_class = "streets"
address_fields = "ID;FULL_STREET_NAME"
locator_style = "US Address - Dual Ranges"
standardized_fields = "PreDir;PreType;StreetName;SufType;SufDir"
standardized_feature_class = "StandardizedStreet"
arcpy.StandardizeAddresses_geocoding(input_feature_class, address_fields, locator_style, standardized_fields, standardized_feature_class, "Static")

环境

特殊情况

许可信息

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

相关主题