创建复合地址定位器
一个复合地址定位器由两个或更多个单一的地址定位器和/或地理编码服务组成。根据复合地址定位器对地址进行地理编码时,是自动将这些地址同其中包含的各个地址定位器和服务进行匹配。复合地址定位器只存储对参与地址定位器和地理编码服务的引用,并不会包含各个定位器的实际地址信息、索引和数据。
可以在任何工作空间(例如,地理数据库或文件夹)中创建复合地址定位器。尽管并不需要将复合地址定位器和参与地址定位器保存在同一工作空间中,但还是建议您执行此操作,因为这样更便于管理和发布复合地址定位器。
构建复合地址定位器包括以下几个主要步骤:
- 创建单个地址定位器或识别现有地址定位器或地理编码服务
- 使用创建复合地址定位器 工具指定参与地址定位器
- 映射输入地址字段
- 定义选择条件(可选)
- 指定输出复合地址定位器的名称。
要构建复合地址定位器,首先要使用现有地址定位器。在构建复合地址定位器的初始阶段,应该为搜索过程指定计划。例如,可以先搜索包含地方道路数据的地址定位器,如果没有出现满意的结果,可以再使用包含省际道路或国道的地址定位器搜索地址。最后,应使用按特定区域(如邮政编码或城市)进行搜索的地址定位器。
![]() |
构建复合地址定位器时,您可能希望基于输入地址字段的值来指定所使用的地址定位器。例如,如果复合地址定位器使用包含某特定城市道路数据的标准地址定位器,则您可能希望过滤掉没有此特定城市名称的所有地址。使用选择条件将会排除不满足特定地址条件的参与地址定位器,从而提高地理编码过程的效率。如果未指定选择条件,当交互式搜索地址时(例如,通过查找 对话框进行搜索),将根据所有参与地址定位器对地址进行地理编码。
![]() |
对地址表进行地理编码时,需要使用选择条件。在 ArcMap 中以单行输入格式查找地址时,则不适合使用选择条件。
以下步骤显示的是如何创建复合地址定位器:
- 通过快捷菜单命令或地理处理工具打开创建复合地址定位器 对话框。
- 要通过快捷菜单命令打开此对话框,可在 ArcCatalog 或 ArcMap 的目录 窗口中右键单击某文件夹或地理数据库,指向新建,然后单击复合地址定位器。
- 要通过地理处理工具打开此对话框,可在 ArcMap 或 ArcCatalog 的目录 窗口中浏览到地理编码工具箱,然后双击创建复合地址定位器工具。
将打开创建复合地址定位器 对话框。
- 单击地址定位器文本框旁的浏览按钮
。
将打开地址定位器 对话框。
- 导航到要添加到复合地址定位器中的地址定位器或地理编码服务所在的文件夹。选择所需的地址定位器或服务,然后单击添加。
- 重复执行步骤 3,直到添加完要加入复合地址定位器中的所有定位器或服务为止。
将参与地址定位器添加到对话框中后,会自动获得一个名称,显示在名称列中。在对地址表进行地理编码的过程中,对地址进行地理编码所依据的单个地址定位器的名称将作为一个属性存储在输出要素类中。也可以单击名称并对其进行更改。名称中不能包含空格或特殊符号。其最大长度为 14 个字符。
参与地址定位器下列出的各地址定位器的顺序决定着它们在地理编码过程中的使用顺序。列表顶部的地址定位器最先使用,依此类推。
- 必要时,可通过上箭头
或下箭头
按钮修改参与地址定位器的排列顺序,从而指定这些定位器在搜索地址时的作用顺序。
每个参与定位器都可以指定一组不同的地理编码输入字段。将参与地址定位器添加到对话框后,将自动创建并映射输入字段。字段和字段内容将由参与地址定位器生成。字段映射部分列出了所有的唯一输入字段,展开后,可看到每个参与地址定位器的所有输入字段(子字段)的列表。这些字段是复合地址定位器的输入字段。
您可以查看字段映射以决定是否需要修改设置。复合定位器创建的输入字段可具有一些默认的字段名和属性。下图中所显示的字段名 Address、City、State 和 ZIP 是由添加到对话框中的第一个参与定位器 Atlanta 填充的名称。接下来将添加 US_Street_Addr 定位器,随后该定位器将填充名为 ZIPCode 的新的唯一字段。由于 ZIPCode 字段事实上与 ZIP 字段相同,因此 US_Street_Addr.ZIP 子字段应该被映射或重新分组到 ZIP 输入字段中。下一步骤将讨论如何将参与定位器子字段移动到其他输入字段中(这也是字段映射过程的一部分)。
-
映射参与地址定位器的输入地址字段。
查看每个参与地址定位器的输入字段,从而确定复合地址定位器的总输入字段数。这些字段将作为复合地址定位器的输入字段显示在地理编码地址 对话框中。
字段映射可能涉及到将某参与定位器输入字段移动或重新分组到复合定位器的相应输入字段中。要执行此操作,可选中要移动的参与定位器子字段并按住鼠标左键,然后将此子字段拖动到相应的字段列表中,也可以使用上箭头
或下箭头
按钮移动子字段。
完成字段映射之后,如果需要删除不再使用的字段,可选择要删除的字段,然后单击删除按钮
。
复合定位器创建的输入字段可具有一些默认的字段名和属性。每个字段都包含一个别名,即显示在地理编码地址 对话框中的名称。您可以修改字段的属性。右键单击字段名,然后单击快捷菜单中的属性打开添加输入字段 对话框,这样便可在其中编辑属性。
如果需要为复合定位器创建新的输入字段,可按照以下各个分步骤操作:
-
单击添加按钮
打开添加输入字段 对话框。
- 在名称文本框中键入输入地址字段的名称。名称中不应包含空格或特殊符号。其最大长度为 32 个字符。
- 如果想要更改显示在地理编码地址 对话框中的名称,可对别名文本框进行编辑。别名中可以包含空格或特殊符号。
- 指定输入字段的大小(以字符为单位)。
- 通过所提供的复选框,指定在对地址表进行地理编码时输入字段是否为必填字段。
- 单击确定。这将关闭“添加输入字段”对话框并将字段添加到字段名列表中。
-
创建新字段后,可将参与定位器的子字段拖动到此新的输入字段中,也可以使用上箭头
或下箭头
按钮移动子字段。
完成字段映射后,将启用设置选择条件功能。每个参与地址定位器仅支持一个选择条件。
-
单击添加按钮
-
指定选择条件(可选)。
- 选择要指定选择条件的参与地址定位器。
-
在选择条件列中单击该参与地址定位器旁的框。单击省略号按钮
打开指定定位器选择条件 对话框。
- 通过使用所提供的按钮或在文本框中输入信息,定义地址定位器的选择条件。如果输入地址不满足该条件,则地址与该地址定位器不匹配。
-
单击确定。针对希望指定选择条件的其他地址定位器重复此过程。
提示:
如果不使用指定定位器选择条件 对话框,也可以在文本框中输入表达式(例如,"City" = 'Atlanta')。
-
此工具将自动为输出复合地址定位器分配一个名称和位置。如果要更改此名称或位置,可单击输出地址定位器部分中的浏览按钮
。导航到要保存地址定位器的文件夹或地理数据库并为该定位器指定一个新名称。
-
单击确定启动复合地址定位器创建过程。
此过程结束后,复合地址定位器将保存在所选的工作空间中,并且,如果是在 ArcMap 中启动的此过程,则复合地址定位器还将添加到地图。
![许可 许可](rsrc/license.png)
可通过 ArcGIS for Server 将复合地址定位器发布为地理编码服务。这需要 ArcGIS for Server 许可。
![警告 警告](rsrc/caution.png)
选择参与地址定位器时,可以选择引用另一个复合地址定位器。但是,请确保未循环使用地址定位器。例如,如果复合地址定位器 A 将复合地址定位器 B 作为参与地址定位器,而复合地址定位器 B 又将复合地址定位器 A 作为参与地址定位器,则将形成重复循环,从而将导致地理编码失败。
![注 注](rsrc/note.png)
复合地址定位器中最多可包含 30 个参与地址定位器,但是建议使用的参与地址定位器不要超过 10 个,否则地理编码可能会非常缓慢。