标准化地址 (Geocoding)
摘要
对表或要素类中的地址信息进行标准化。
地址通常显示为不同的形式,可能包含各种单词缩写,例如,“W”是“WEST”的缩写,而“ST”是“STREET”的缩写。根据所选的地址样式,可将地址分为多个部分,例如门牌号、前缀方向、前缀类型、街道名称和街道类型。其中每个部分都包含部分地址信息和标准化值,例如用“1ST”代替“FIRST”作为街道名称,用“AVE”代替“AVENUE”作为街道类型。地址样式明确说明了地址的各组成部分并限定了各部分的排序方式和标准化方式。某些地址样式可能使用整个单词,而不使用单词的缩写,具体取决于应用程序。
要进行标准化的输入地址可以存储在单个字段中。如果地址信息已被分开存储在输入要素类或表的多个字段中,则可使用此工具将这些字段动态串连在一起并对该信息进行标准化处理。
插图
用法
-
输入地址数据可以是表或要素类,这些表或要素类包含可根据地址定位器样式进行标准化的各种地址属性。
-
要进行标准化的输入地址可以存储在单个字段(例如,自定义地址表中的地址字段)中。然后,可选择该字段作为此工具中的输入地址字段。
如果地址信息已被分开存储在输入要素类或表的多个字段(可在常见的参考街道或点地址数据中找到)中,则在标准化过程中,会将这些字段动态串连在一起并对该信息进行标准化处理。按照完整地址的构成顺序来指定这些字段。
注:使用处理街道地址的地址定位器样式时,您可能需要指定一个门牌号字段或任意类型的数值字段作为输入地址字段并指定一些其他地址属性,这样,便可正确地对串连的地址进行标准化。以输入字符串“17 Mile Road”为例,如果没有给出门牌号,“Mile”(而不是“17 Mile”)可能被解释为一个街道名。如果输入地址为“101 17 Mile Road”,则可避免发生这种混淆。ObjectID 字段是可用于此目的的数值字段,如上图所示。
-
可将标准化结果保存在以下两个输出选项中:
- 包含输入表中行副本或要素副本以及标准化地址字段的输出表或要素类。这是默认选项。
- 只包含标准化地址字段和一个用于连接输入表或要素类的关系类的输出表。
语法
参数 | 说明 | 数据类型 |
in_address_data |
包含要进行标准化的地址信息的表或要素类。 | Table View |
in_input_address_fields [in_input_address_field,...] |
输入表或要素类中的一组字段,这些字段串连起来便可构成要进行标准化的地址。 | Field |
in_address_locator_style |
要用于对输入表或要素类中的地址信息进行标准化的地址定位器样式。 | Address Locator Style |
in_output_address_fields [in_output_address_field,...] |
要包含在输出表或要素类中的一组标准化地址字段。 | Field |
out_address_data |
创建要用来包含标准化地址字段的输出表或要素类。 | Table;Feature Class |
in_relationship_type (可选) |
指示是创建静态输出数据集还是动态输出数据集。
| Boolean |
代码实例
以下 Python 窗口脚本演示了如何在即时模式下使用标准化地址 (StandardizeAddresses) 函数。
import 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")