默认定位器是 ArcMap 中始终可用的定位器。您可直接从地理编码工具条或查找对话框中选择定位器并使用所选定位器查找地址或位置。默认定位器不保存在地图文档中,但每次启动 ArcMap 或打开地图文档时,都将自动添加默认定位器。
地理编码工具条和查找对话框包含多个默认定位器,包括 ArcGIS Online 的地理编码服务,以及 MGRS(军事格网参考系)定位器。只要您登录,所有发布到门户的定位器也将默认可用。您可从中任选一个来查找地址或位置。
无法使用地址定位器管理器移除默认定位器;当默认定位器处于选中状态时,该对话框中的移除按钮不可用。
但是,可在两个 XML 文件(文件名均为 DefaultLocators.xml,但存储在不同文件夹中)中管理默认定位器。一个文件用于管理系统范围的默认定位器;另一个用于管理特定于用户的默认定位器。
- 系统默认定位器 - 这些定位器可供 ArcMap 应用程序的每个用户使用。如果您具有对 ArcGIS 安装目录(例如,C:\Program Files\ArcGIS\Desktop10.2.1)下的 Locators 文件夹中所存储的 DefaultLocators.xml 文件的管理权限,则可向列表中添加或从列表中移除系统默认定位器。(请注意,在同一文件夹中还有一个名称相同的 XSD 文件;不应对此 XSD 文件进行编辑。)
- 用户默认定位器 - 这些定位器仅供启动 ArcMap 应用程序的用户使用。个人用户可修改用户配置文件夹下的 Locators 文件夹中的 DefaultLocators.xml 文件,从而指定用户默认定位器。此文件位于以下位置:
- Windows XP - C:\Documents and Settings\[用户名]\Application Data\Esri\Desktop10.2.1\Locators
- Windows 7 或 Vista - C:\users\[用户名]\AppData\Roaming\Esri\Desktop10.2.1\Locators
默认定位器可以是位于文件夹中的定位器或是通过 ArcGIS for Server 发布的地理编码服务。如果 XML 文件中的定位器因为各种原因(例如,数据库或服务器连接中断、定位器名称不正确或定位器错误)无效,将跳过无效的默认定位器并获取列表中的下一个定位器。
在 DefaultLocators.xml 中定义默认定位器
DefaultLocators.xml 文件包含一组默认定位器。在该文件中定义的定位器顺序将确定这些定位器在地理编码工具条上的列表中的显示顺序。初始时会将列表中的第一个定位器设置为 ArcMap 的活动定位器。
可以使用 XML 编辑器(例如,Microsoft Visual Studio)来编辑 DefaultLocators.xml 文件。在 XML 编辑器中打开此文件后,可以看到括在注释标签对(<!-- 和 -->)中的描述和示例。可以使用这些标签将您的注释添加到此文件中。(还可以在现有默认定位器定义的两侧添加注释标签以禁用对此定义的注释。这将在 ArcMap 的后续会话中从默认定位器的列表中移除该定位器。)
] 在 XML 编辑器中,如果将鼠标光标悬停在某一标签上,将出现工具提示显示对此标签的描述。 如果在标签后输入一个左尖括号 (<),将出现一个弹出式菜单,菜单中将根据上下文显示可用元素以供选择。可按键盘上的下方向键来选择标签。
您可使用 XML 语法编写相应信息来定义默认定位器。如果对 XML 不熟悉,了解 XML 元素、标签和属性的基础知识将很有帮助。虽然本主题不包含这些基础知识,但您可了解到 XML 元素括在标签中,而标签括在尖括号中。结束标签的左尖括号之后始终紧跟一个斜线。以下示例显示的是将定位器的显示名称指定为 My Locator 的元素:<display_name>My Locator</display_name>。
在 ArcMap 中提供的一组默认定位器是由 <default_locators> 元素进行定义的。这组默认定位器中的每个定位器均由 <locator_ref> 元素指定。下表列出了可用于配置默认定位器的常用标签:
XML 标签 | 描述 |
---|---|
<name> | 定位器或地理编码服务的实际名称。 |
<display_name> | 默认定位器的别名。此名称将显示在各个 ArcGIS 地理编码工具或对话框(例如,地址定位器管理器)中。 |
<workspace_properties> | 包含地址定位器或地理编码服务的工作空间的属性。 |
<factory_progid> | COM 组件的 Esri 工作空间工厂 ProgID。它可能是以下位置之一:
|
<path> | 要用作默认定位器的地址定位器所在的文件夹的路径。 |
<ags_connection_properties> | 要用作默认定位器的地理编码服务的 ArcGIS for Server 连接属性。 |
<url> | 指向地理编码服务的 URL 链接。例如,此链接可以是指向 http://geocode.arcgis.com/arcgis/services 的 ArcGIS Online 地理编码服务的 URL。 |
以下示例说明了如何根据定位器所在工作空间的类型定义默认定位器:
将文件夹中的定位器定义为默认定位器
<locator_ref>
<name>My USA address locator</name>
<display_name>USA address locator</display_name>
<workspace_properties>
<factory_progid>esriDataSourcesFile.ShapefileWorkspaceFactory</factory_progid>
<path>E:\USA_locators</path>
</workspace_properties>
</locator_ref>
将来自 web 应用程序或 ArcGIS Online 的地理编码服务定义为默认定位器
<locator_ref>
<name>Locators/TA_Address_NA</name>
<display_name>North America Geocode Service (ArcGIS Online)</display_name>
<workspace_properties>
<factory_progid>esriGISClient.AGSServerConnectionFactory</factory_progid>
<ags_connection_properties>
<url>http://geocode.arcgis.com/arcgis/services</url>
</ags_connection_properties>
</workspace_properties>
</locator_ref>
编辑系统默认定位器
如果您已共享由网络连接或 web 应用程序中的地理编码服务提供的定位器,则可将这些定位器配置为您的组织的计算机上的默认定位器。这样,这些计算机上的任何 ArcMap 用户均可方便地访问共享的定位器。
-
使用 XML 编辑器打开 ArcGIS 安装目录下 Locators 文件夹中的 DefaultLocators.xml 文件。
您必须具有对 ArcGIS 安装目录中的这个文件的管理权限。
- 编写一个 <locator_ref> 代码块可添加一个定位器或地理编码服务。(示例已在上文中提供。)
XML 文件中定位器的顺序将确定它们在地理编码 工具条上列出时的顺序。列表中的第一个定位器也将被自动设置为 ArcMap 的活动定位器。
- 要从列表中移除默认定位器,请删除描述要移除的定位器的 <locator_ref> 代码块,或禁用对此代码块的注释。
- 保存 DefaultLocators.xml 文件。
- 启动或重新启动 ArcMap 即可查看地理编码 工具条上新的默认定位器列表。
- 或者,也可与其他计算机上的 ArcGIS 用户共享您的默认定位器,方法是将 DefaultLocators.xml 文件复制到这些用户的 ArcGIS 安装目录下的 Locators 文件夹中。
编辑用户默认定位器
用户默认定位器仅对启动 ArcMap 应用程序的用户帐户可用。您可能由于以下原因而需要编辑用户默认定位器文件:
- 您不具有对存储在 ArcGIS 安装目录中的系统 DefaultLocators.xml 文件的管理权限。
- 不想在 ArcMap 中显示或使用任何系统默认定位器。
- 您想将自己的定位器或地理编码服务添加到 ArcMap 的默认定位器列表中。
- 使用 XML 编辑器打开用户指定的 DefaultLocators.xml 文件。此文件位于以下文件夹中:
- Windows XP - C:\Documents and Settings\[用户名]\Application Data\Esri\Desktop10.2.1\Locators
- Windows 7 或 Vista - C:\users\[用户名]\AppData\Roaming\Esri\Desktop10.2.1\Locators
- 编写一个 <locator_ref> 代码块可添加一个定位器或地理编码服务。(示例已在上文中提供。)
打开 ArcMap 之后,用户默认定位器将显示在系统默认定位器上方的地理编码工具条中。
- 要从列表中移除用户默认定位器,请删除用于描述要移除的定位器的 <locator_ref> 代码块,或禁用对此代码块的注释。
- 如果不想在 ArcMap 中对当前用户帐户显示任何系统默认定位器,请将 <default_locators> 标签的 append_system_locators 属性从 "true" 更改为 "false"。
如果将 append_system_locators 属性设置为 "false"(如下方示例所示),则不会在 ArcMap 中显示系统默认定位器。
<default_locators append_system_locators="false"
- 保存 DefaultLocators.xml 文件。
- 启动或重新启动 ArcMap 即可查看地理编码 工具条上新的默认定位器列表。