在 ArcGIS Enterprise 中,您可以使用定位器将地址或地名转换为地图上的点。
在 ArcGIS Enterprise 中添加地理编码服务
要将地址转换为组织中地图上的点,必须向组织添加地理编码服务并将其配置为公共设施服务。 您可以配置并使用 ArcGIS World Geocoding Service,但这将需要 ArcGIS Online 配额以执行批量地理编码。 或者,您可以将自己的定位器作为地理编码服务发布到 ArcGIS Enterprise 并进行使用。
有关在组织中设置定位器以启用地理编码的详细信息,请参阅配置实用程序服务。 有关配置服务的信息,请参阅以下部分。
为 ArcGIS Enterprise 配置 ArcGIS World Geocoding Service
要为 ArcGIS Enterprise 配置 ArcGIS World Geocoding Service,请完成以下步骤:
- 以管理员身份登录到您的组织。
- 转至组织选项卡,单击设置,然后单击 ArcGIS Online。
- 选中地理编码复选框并提供您的 ArcGIS Online 用户名和密码。
只要使用 ArcGIS World Geocoding Service 在此组织上执行批量地理编码,系统即会从您在此对话框中指定的 ArcGIS Online 用户账户中扣除配额。
- 单击配置。
配置您自己的定位器
通过使用您自己的数据或 ArcGIS StreetMap Premium 数据共享您拥有的定位器,您可创建根据您组织的需求定制的地理编码服务。
在共享定位器时,您的地理编码服务如何访问定位器数据是一个重要的考虑因素。 高性能地理编码需要服务本地的数据以便最大限度地减少延迟。 虽然可以发布通过网络连接(如 NFS 共享)访问定位器数据的地理编码服务,但较慢的连接将导致地理编码服务的性能降低。 定位器数据越大,性能惩罚就越大。 例如,通过网络共享访问时,单个城市的小型定位器的性能将高于整个国家的大型定位器。
发布您自己的定位器时,建议使用本地永久卷来使定位器数据可用于地理编码服务 pod(无需承受网络连接的较大延迟)。 本地永久卷是 Kubernetes 中的一个功能,它支持定义绑定到集群中特定节点的卷。 这种连接节点的存储提供了快速访问能力和性能优化。 有关详细信息,请参阅添加基于 PV 的文件夹数据存储。
本地永久卷要求将数据复制到节点的文件系统中。 为了防止数据被不必要地复制到每个节点,建议您将地理编码服务工作负载与其他工作负载分开。 使用专用的地理编码节点池以确保定位器数据仅复制到该池中的节点。 使用节点亲和性、容忍度和污点来确保地理编码服务 pod 专门调度到专用地理编码节点池中的节点。
要使用本地持久卷配置您自己的定位器,请完成以下步骤:
- 使用可支持本地卷的节点规范在群集中创建节点池。
例如,可以使用实例存储在 Amazon Elastic Kubernetes Service (EKS) 上的节点。
- 为此节点池创建自定义标注。
例如,要使用键 Type 和值 Geocoding 标注节点,请使用以下命令:
kubectl label nodes <your-node-pool-selector> Type=Geocoding
- 使用节点亲和性为节点池创建本地永久卷。
由于本地永久卷仅在您指定的节点上可用,因此配置为使用此永久卷的地理编码服务将仅调度到这些节点上。 下方是一个示例:
apiVersion: v1 kind: PersistentVolume metadata: name: arcgis-enterprise-folder-pv spec: capacity: storage: 100Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: arcgis-folder-pv local: path: /path/to/service/data # copy locator data to this path nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: Type operator: In values: - geocoding
- 创建定位器。
您可以使用 ArcGIS Pro 从自己的数据创建定位器。 或者,如果 ArcGIS Enterprise on Kubernetes 和 ArcGIS Pro 都获得了适当的区域 StreetMap Premium 扩展模块的许可,则可以使用 StreetMap Premium 定位器。
- 对于专用地理编码节点池中的每个节点,将定位器的 .loc 和 .loz 文件复制到永久卷中指定的本地路径。
建议在专用地理编码节点池中创建的所有节点自动创建目录路径,并将定位器数据复制到该路径。 例如,在 EKS 中,可以使用启动模板指定在创建新节点时运行的命令。
- 添加基于 PV 的文件夹数据存储。
必须指定这是一个用于路由或地理编码服务的本地永久卷。 对于发布者文件夹路径,请指定发布者可以从 ArcGIS Pro 中访问定位器数据的位置。
- 从 ArcGIS Pro 中共享定位器,并在 ArcGIS Pro 中配置定位器的每个 Pod 的实例数。
- 应用容忍度以确保可以在专用地理编码节点池中的节点上调度地理编码服务 pod。
例如,要为键为 Type 且值为 Geocoding 的节点添加容忍度,请使用以下值:
- 效果 - 不执行
- 键 - 类型
- 运算符 - Equal
- 值 - 地理编码
- 为专用地理编码节点池中的节点设置污点,以确保只在这些节点上调度地理编码服务 pod。
例如,可以使用下面的命令为所有键为 Type 且值为 Geocoding 的节点设置污点。
kubectl taint nodes -l Type=Geocoding:NoExecute
- 如有必要,将更多资源分配给 Pod。
在 ArcGIS Enterprise Manager 中配置定位器的 pod 数量、内存限制和 CPU 限制。 您必须是组织管理员才能分配资源。
- 以管理员身份登录门户。
- 转至组织 > 设置 > 实用程序服务,然后为您的组织配置共享定位器。
注:
可以通过门户添加文件夹数据存储项目。 此方法不使用永久卷使文件夹中的数据可供访问。 如果数据在指定文件路径的每个节点上都可用,则可以发布引用此数据存储的地理编码服务。 不建议使用此选项,因为它会导致无法同时使用受限 pod 安全标准和专用地理编码节点池。