创建定位器工具用于构建一个定位器,该定位器支持本地城市名称和邮政城市名称(当为同一邮政编码同时分配两个名称时)。 这可以通过使用包含点地址、宗地、街道地址或 POI 角色的数据构建多角色定位器来实现,其中主要参考数据中的每个要素都具有邮政编码、邮政连接 ID 和邮政编码所在的主要城市名称,以及在面要素类中表示的邮政编码,该要素类包含邮政连接 ID 以及与将使用邮区或邮政编码定位器角色的邮政编码相关联的另一个城市名称。 当多个城市名称与同一邮政编码相关联时,需要创建此类型的定位器;当存在合法的城市或市镇名称、未合并城市名称、当地已知的城市名称或者由美国邮政服务公司分配给社区的邮政城市名称时,可能会出现这种情况。
如果 Postal 角色的参考数据的邮政编码中包含城市名称值,则在构建定位器时城市值将存储为邮政城市值。 在某些国家/地区(包括美国)中,在进行地理编码时默认返回邮政城市。 这会影响多角色定位器(包含点地址、宗地、街道地址或 POI 角色)返回的结果。 可通过更改定位器属性对话框中首选城市名称的默认值,更改定位器中返回给本地城市或匹配城市的值。
下面的逻辑示意图显示了角色的链接方式,以及需要哪些字段才能使用首选城市名称设置。 为要素类列出的字段是应该映射到构建定位器的定位器角色字段的数据中的字段。 在用于邮区或邮政编码角色的 Ventura_Postal 要素之间以及用于点地址角色的 Ventura_City_Addresses 点要素之间,存在一对多关系,它们的链接基于 POSTAL_JOIN_ID 字段。 在下方的步骤中,本地城市名称 Ventura 存储在点图层中,而邮政城市名称 San Buenaventura 存储在 Ventura_Postal 面图层中。 在美国,邮政编码被称为 Zip Codes(美国邮政编码)。
构建定位器
要使用点地址和邮区或邮政编码角色创建多角色定位器,并使用同时支持邮政城市和本地城市的邮政连接 ID 角色字段链接这两个角色,请完成以下步骤:
- 从地理处理窗格中打开创建定位器地理处理工具。
- 在创建定位器工具中,单击角色下拉列表,然后选择点地址角色。
- 单击主表文本框旁的浏览按钮。
- 浏览至包含本地城市名称的点图层。
- 在工具的字段映射部分中,在角色:点地址部分中从每个相关字段名称的别名下拉菜单中选择适当的字段来映射字段。
- 将包含邮政编码连接 ID 的点参考数据中的字段分配给邮政连接 ID。
- 单击角色下拉列表,然后选择邮政角色。
- 单击主表文本框旁的浏览按钮。
- 浏览至包含邮政城市名称的邮政编码面图层。
- 在工具的字段映射部分中,在角色:邮政部分中从每个相关字段名称的别名下拉菜单中选择适当的字段来映射字段,然后执行以下操作:
- 将包含邮政编码连接 ID 的邮政面参考数据中的字段分配给邮政连接 ID。
- 将包含邮政编码的参考数据中的字段分配给 Postal。
- 将包含邮政城市的参考数据中的字段分配给 City。
- 在输出定位器参数中提供定位器的名称。
- 从语言代码下拉菜单中选择英语。
- 单击运行。
- 打开新创建的定位器的定位器属性对话框。
- 在地理编码选项页面上,展开显示选项。
- 当输入本地城市名称作为输入地址的一部分时,如果您希望在地理编码结果中返回邮政城市名称标注,请选择邮政城市名称作为首选城市名称选项。
在下图中,点地址角色数据中的当地城市名称为 San Buenaventura,邮区或邮政编码角色数据中的邮政城市名称为 Ventura。 在定位窗格中搜索 3700 Dean Dr, San Buenaventura, CA 93003 时,定位器返回的结果将包含邮政城市名称 Ventura。 邮政城市名称也包含在建议中。
- 打开定位器的定位器属性对话框。
- 在地理编码选项页面上,展开显示选项。
- 当邮政城市名称是输入地址的一部分时,如果您希望返回本地城市名称,请选择本地城市作为首选城市名称选项。
现在,在定位窗格中搜索 3700 Dean Dr, Ventura, CA 93003 时,定位器返回的结果将包含本地城市名称 San Buenaventura。