StreetMap Premium 中已经包含两组定位器。经典定位器是过去几年中 StreetMap Premium 内随附,但将会 在 2020 年之后即将弃用的定位器。新定位器是一种新型定位器,类似于针对 ArcGIS Online World Geocoding Service 的定位器。但是,由于 StreetMap Premium 主要将 HERE 数据用于地址数据源,而 ArcGIS Online World Geocoding Service 使用 HERE 数据和其他供应商或公共信息来源,因此某些国家/地区的地理编码结果可能会有所不同。
新定位器包含在每个 StreetMap Premium 版本以及 My Esri 上单独的“定位器更新”版本中。登录到您的 My Esri 帐户可查看定位器的下载文件。所有下载文件均为 7z 格式,且数据可能横跨多个文件(因此必须下载所有文件才能正确解压缩文件)。如果您的计算机上尚未安装 7-Zip,则需要从 www.7-zip.org 安装此免费软件。从 My Esri 下载所有文件并在计算机上解压之后,可以浏览至文件的解压位置并在 ArcGIS Pro 中添加定位器。只要您被授权了适当地区的 StreetMap Premium 扩展模块(例如 StreetMap Premium 北美),就可以将新定位器用于在 ArcGIS Pro 中进行地理编码。
注:
如果您没有适当的 StreetMap Premium 扩展模块,则一个红色的感叹号 (!) 会显示在目录窗格工程 > 定位器下的国家定位器名称旁边,且国家定位器 名称在定位窗格提供商设置中的选项按钮 下不可用。有关获取 StreetMap Premium 扩展模块的信息,请参阅启用 StreetMap Premium 扩展模块。
用于地理编码的地址定位器
StreetMap Premium 现在包含一组新的定位器,相比经典定位器具有以下优势:
- 定位器文件更小、更高效,所需的系统资源(如 RAM)更少。
- 改进了地址匹配逻辑,可以处理格式不正确的地址和拼写错误。
- 可以对感兴趣点(例如白宫、金门大桥或麦当劳)进行地理搜索和批量地理编码。
- 更快的批量地理编码性能。
- 能够针对批量地理编码结果选择路径位置(街道中心线或街道上的入口点)或地址位置(宗地或屋顶质心)。
- 能够通过特定的地理编码匹配类型(例如地址类型、邮政编码、感兴趣点和坐标)来过滤批量地理编码结果。
- 增强了对街道交叉路口地理编码的支持,不仅可识别物理交叉路口,还可以识别逻辑交叉路口,例如地下通道、天桥、死巷和环状交叉路。
- 增强了对位于现有街道地址门牌号范围外的匹配门牌号的支持。
- 在将定位器作为服务发布时,可以对返回的结果类型(感兴趣点、邮政编码等)实现更多反向地理编码中的控制。
- 一个区域定位器文件中包含多个国家/地区,因此可以在一个或多个国家/地区中运行批量地理编码。
注:
建议您始终将这些新定位器与最新版本的 ArcGIS Pro 和 ArcGIS Enterprise 一起使用,并建议您从 ArcGIS 网站上的 StreetMap Premium 修补程序处查看和安装相应的修补程序。为确保新定位器或地理编码服务的正常运行,需要为 ArcGIS Enterprise 和 ArcGIS Pro 安装 StreetMap Premium 扩展模块。要使用这些新定位器创建地理编码服务,可以从 ArcGIS Pro 将其发布到门户,或从 ArcGIS Pro 将其直接发布到服务器;不需要安装 Portal for ArcGIS。对于任一选项,必须为 ArcGIS Enterprise 和 ArcGIS Pro 安装 StreetMap Premium 扩展模块。要从 ArcGIS Pro 直接发布到您的服务器,请使用以下两种方法之一。
在 ArcGIS Pro 2.4 或更高版本,请执行以下操作:
- 首先,创建与服务器的连接。有关如何创建服务器连接的信息,请参阅连接到 GIS Server。在添加 ArcGIS Server 连接对话框中,添加服务器 URL、用户名和密码,然后选中将用户名/密码保存到 Windows 凭据管理器复选框。如果连接成功,则服务器连接将在目录窗格的服务器下显示。
- 在目录窗格中的服务器下,右键单击服务器连接,然后单击发布 > 地理编码服务。在发布地理编码服务对话框中,输入服务详细信息并完成发布定位器。
在 ArcGIS Pro 2.3.3 或更高版本中,执行以下操作:
- 首先,创建与服务器的连接。有关如何创建服务器连接的信息,请参阅连接到 GIS Server。在添加 ArcGIS Server 连接对话框中,添加服务器 URL、用户名和密码,然后选中将用户名/密码保存到 Windows 凭据管理器选项。如果连接成功,则服务器连接将在目录窗格的服务器下显示。
- 接下来,修改示例 Python 代码。从分析选项卡,打开 Python 窗口。右键单击 Python 窗口的左下角,然后单击加载代码。在窗口中复制并粘贴 CreateGeocodeSDDraft 示例 Python 脚本。针对刚刚创建的特定文件夹位置和服务器连接修改参数部分。
- 运行 Python 代码。完成对 CreateGeocodeSDDraft 的编辑后,按 Enter 键以运行代码。可能必须按两次 Enter 键才能运行代码。Python 脚本会在您指定的文件夹中创建服务定义草稿文件 (.sddraft) 和服务定义文件 (.sd),然后将 .sd 文件发布到您的服务器。
- 使用新发布的地理编码服务。右键单击服务器连接 (*.ags),然后单击属性。将类型设置为用户连接,然后在对话框上单击确定。然后,右键单击地理编码服务名称,然后单击添加到工程。地理编码服务随时可以与定位工具搭配使用以及用于在 ArcGIS Pro 进行批处理或反向地理编码。
有关在 ArcGIS Enterprise 中发布和使用新地址定位器的详细信息,请参阅 ArcGIS Pro 中的共享定位器和在地图上查找地点简介主题。
新定位器支持以下地理编码匹配类型和类别过滤,但并非所有国家/地区都包含每个级别的数据:地址(子地址、点地址、街道地址、距离标记、街道交叉路口和街道名称)、邮政编码、居民区(区块、扇区、街区、区、城市、都会区、亚区、区域、地区、国家和地域)、感兴趣点和坐标。
例如,如果您希望仅对一个或两个匹配类型(例如 PointAddress、StreetAddress 等)进行地理编码,则可以将类别与新定位器一起使用。您可以在 ArcGIS Pro(仅 ArcGIS Pro 2.4.3 或更高版本中可用)中的定位器属性中完成此操作,方法是右键单击目录窗格中的定位器,然后单击定位器属性。选择左侧的地理编码选项,然后向下滚动至支持的类别部分,您可以在其中仅选择要启用的类别。如果使用 ArcGIS Pro 中的地理编码地址工具进行批量地理编码,则无需更改定位器属性中的类别,因为指定类别的选项已经是工具对话框的一部分。
如果使用类别仅返回 SubAddress、PointAddress 和 StreetAddress 匹配,则应调整最低匹配得分,您也可以在地理编码选项下的定位器属性中进行此操作。Esri 建议使用值 94,这将最大化您的匹配率,而不会引入不可接受的误报匹配数量。如果您发现限制过于严格(过高)并排除了过多的匹配项,或者如果限制不够严格(过低)并且允许过多误报,则可以对此进行调整。例如,如果您的输入地址非常简洁且格式正确,则可以使用更高的最低匹配得分。相反,如果由于缺少地址组成部分或额外的信息而导致输入地址的质量较低,则下限值可能会导致更多匹配项。无论您指定了多少类别,在决定最适合您需求的最低匹配得分时,最好查看您自己的输入地址数据和地理编码匹配结果。
有关地理编码覆盖区域、每个国家/地区的质量级别和类别过滤的详细信息,请参阅 ArcGIS for Developers 网站上的 ArcGIS REST API 地理编码覆盖区域。
地址的输入映射字段是跨全球定位器的标准化字段,其具体包括以下内容:地址、邮政、社区、城市、亚区和区域字段;然而一些国家并不使用以下全部四个行政地点字段作为输入:
- 社区 - 比城市小
- 城市 - 城市或等同于城市的区域
- 亚区 - 通常比城市大但比地区小
- 地区 - 州/省或等同于州/省的区域
使用 ArcGIS Pro 进行地理编码时,您可以浏览这些地址定位器中的任何定位器。有关使用这些地址定位器查找地址或地理编码表的帮助,请参阅教程:查找地址。
无论是在 ArcGIS Pro 中直接使用新定位器,还是将其作为地理编码服务发布,都可以使用其建议功能。发布新定位器之后,您即可在您自己的应用程序中使用建议 REST API。
文件输出字段定义
以下文件输出字段定义可能会对您有所帮助:
- Addr_type - 地址的匹配类型。可能的值如下:
- SubAddress - 点地址的子集,包含相关门牌号、建筑物或单元编号以及街道名称。
- PointAddress - 具有相关门牌号和街道名称的点地址。
- BuildingName - 具有相关建筑物名称的点地址。
- StreetAddress - 具有地址范围的街道中心线。
- StreetInt - 从街道地址数据中获得的街道交叉路口。
- StreetAddressExt - 当地址的门牌号组件位于现有街道地址门牌号范围之外时的插入街道地址匹配。
- DistanceMarker - 用于表示沿某条街道的线性距离的街道地址(通常以公里或英里为单位,且指定了原点位置)。
- StreetName - 具有相关街道名称的街道中心线(无编号地址范围)。
- Locality - 诸如镇、市和社区等行政区;通常是最小的行政区。
- PostalLoc - 结合了行政边界的邮政编码点。
- PostalExt - 扩展的邮政编码点,例如 USPS ZIP+4。
- Postal - 邮政编码点。
- POI - 感兴趣点,例如居民区、企业名称、地标和地理名称。
- LatLong - 用于搜索输入的 x,y 坐标对。
- XY-XY - 基于输入的第一坐标为经度而第二坐标为纬度这一假设的匹配。
- YX-YX - 基于输入的第一坐标为纬度而第二坐标为经度这一假设的匹配。
- MGRS - 军事格网参考系位置。
- Match_addr - 在本地国家地址方案中设置格式的完全匹配地址。这是基于国家地址标准的正确地址格式。
- 状态
- M - 匹配
- T - 关联(表示多个匹配候选项具有相同的分数)
- U - 不匹配
- 得分 - 1 至 100 之间的数字,用于表示地理编码请求中的输入令牌与候选记录中的地址组件的匹配程度。得分为 100 表示完美匹配,分数越低表示匹配精度越低。
- 侧 - 对于 SubAddress、PointAddress 和 StreetAddress 匹配,此字段表示相对于要素数字化(而非沿街道的行驶方向),地址位于街道的哪一侧(左或右)。
- DisplayX/DisplayY - 对于 SubAddress 和 PointAddress 匹配,这些字段存储和每个地址相关联的宗地质心或屋顶质心的十进制度坐标,同时地理编码点要素默认位于属性主入口附近的街段。
注:
使用地理编码地址工具在 ArcGIS Pro 中进行批量地理编码时,新定位器会提供将首选位置类型设置为路径位置(街道中心线或街道上的入口点)或地址位置(宗地质心或屋顶质心)的选项,可将其用于地理编码结果。您还可以在定位器文件中对此进行管理,以便在使用 ArcGIS Pro 中的定位时获得首选位置。右键单击目录中的定位器,然后选择定位器属性。选择左侧的地理编码选项。在首选位置类型下,选择路由位置或地址位置。
- Distance - 从候选位置到指定位置的物理距离,单位为米。当 Location input 参数使用 Find 或 findAddressCandidates 方法在请求中传递时,将为每个候选项计算 Distance 输出值。如果 Location 参数未在请求中传递,则 Distance 值为零。
要获得可能的定位器输出字段的完整列表,请参阅 ArcGIS for Developers 网站上的 ArcGIS REST API:世界地理编码服务文档。