路径服务允许 ArcGIS Enterprise 和 ArcGIS Online 用户通过 web 执行网络分析。 创建路径服务的一种方法是从 ArcMap 发布网络分析功能通过 Network Analyst 扩展模块启用的地图服务。
使用 ArcMap 创建此类路径服务的第一步是创建包含网络分析图层的地图文档。 然后,您将地图发布为服务,并确保启用网络分析功能。 您可以通过多种方式使用所生成的服务,包括 ArcGIS Enterprise、ArcGIS Online 和开发人员 SDK。 以下几个部分将详细介绍此过程。
有关指导您完成在 ArcMap 中创作和发布地理处理服务的过程的教程,请参阅地理处理服务示例:行驶时间面。
创建地图文档
在发布路径服务之前,您需要首先使用 ArcMap 创建一个地图文档,此地图文档中至少要包含将要在服务中使用的网络分析图层。 您可以通过添加数据对话框添加一个现有的网络分析图层,也可以通过 Network Analyst 工具条根据地图上已有的网络图层(引用网络数据集)创建一个网络分析图层。
您也可以使用 ArcMap 来设置服务的默认分析设置。 这包括网络位置(如设施点和障碍)以及求解程序属性(例如用于查找任何适用限制的设施点数)。
发布服务
创建并保存地图文档后,您可以按照 ArcMap 的服务发布文档中的步骤来创建路径服务。 发布资源时,请注意以下事项:
在 ArcMap 中,有两种发布方案:一种是发布时将数据复制到服务器,另一种是发布时不将数据复制到服务器。 如果发布时不将数据复制到服务器,那么在发布之前您必须明确授予 ArcGIS Server 帐户对地图文档所引用的数据的读取权限。 如果发布时将数据复制到服务器,则不需要授予 ArcGIS Server 帐户对数据的访问权限。 在帮助主题使数据可供 ArcGIS Server 访问中对这一过程进行了详细介绍。
在服务编辑器中指定服务的功能时,请确保网络分析功能已启用。
Network Analyst 功能
以下部分将介绍发布服务之前可以设置的各项功能。
常规
启用网络分析后,您可以在服务编辑器对话框中单击网络分析并指定以下常规设置:
输出目录 - 写入结果图层的位置。
默认输出几何精度 - 该值用于设置概化后输出几何的默认精度。 如果其设置为零或未指定,则不会对输出几何执行概化。 如果其已指定或为正值,则表示 MaximumAllowableOffset 参数。 将根据 IPolycurve.Generalize 执行概化。
允许用户在服务器上保存结果图层 - 此框用于指定用户是否可将结果图层保存在服务器上以供将来再次使用。
发生错误时将结果图层保存在服务器上 - 此框用于指定分析过程中发生错误时,是否将结果图层自动保存在输出目录中。 如果选中,则此选项可帮助对错误进行故障排除。
调试时将结果图层保存在服务器上 - 选中此框后,如果日志级别设置为 DEBUG,则结果图层将自动保存在每个请求的输出目录中。
忽略网络位置字段 - 如果通过请求传递位置字段,则此设置可指示服务不使用输入分析位置(停靠点、障碍、设施点、事件等)上的位置字段。 如果街道名称经常改变,则忽略网络位置字段将有助于避免传递包含无效位置字段的请求。
约束
约束是一组属性,可以针对每个求解程序定义此属性,以设置服务输出的参数。 可以在约束选项卡中设置这些属性。 以下约束由每个求解程序共用:
- 最大障碍数量 - 每个请求允许传递的最大点障碍数量。
- 与线障碍相交的最大要素数量 - 可以按每个请求的线障碍数量来限制最大街道数量。
- 与面障碍相交的最大要素数量 - 可以按每个请求的面障碍数量来限制最大街道数量。
- 超出(输入范围)强制分级和超出(输入范围)强制分级的单位 - 当停靠点之间的距离较远时,如果未选中此选项,则解决请求会需要大量的时间和服务器资源。
每个求解程序还具有其他可设置的约束:
路径
- 最大停靠点数量 - 用户允许每个请求传递的最大停靠点数量。
- 允许时间窗口 - 此选项用于指定服务是否支持用户在输入停靠点上传递时间窗口。
服务区
- 最大设施点数量 - 每个请求允许传递的最大设施点数量。
- 最大中断和最大中断的单位 - 可以针对服务区请求指定的最大中断值。 阻抗单位可以基于以下内容:
- 时间
- 长度
- 其他
- 超出(中断)强制分级和超出(中断)强制分级的单位 - 可以针对服务区请求指定的最大中断值。 达到此最大值后,服务器可自动将请求更改为使用网络等级。
最近设施点
- 最大设施点数量 - 每个请求允许传递的最大设施点数量。
- 要找到的最大设施点数量 - 您希望服务可在每个请求内找到的事件中的最大设施点数量。
- 最大事件数量 - 每个请求允许传递的最大事件数量。
OD 成本矩阵
- 最大目的地数量 - 每个请求允许传递的最大目的地数量。
- 要找到的最大目的地数量 - 您希望服务可在每个请求内找到的自起点的最大目的地数。
- 最大起点数量 - 每个请求允许传入的最大起点数量。
车辆配送
- 最大停靠点数量 - 每个请求允许传递的最大停靠点数量。
- 最大路径数量 - 每个请求允许传递的最大路径数量。
位置分配
- 最大请求点数量 - 每个请求允许传递的最大请求点数量。
- 最大设施点数量 - 每个请求允许传递的最大设施点数量。
使用服务
您可以使用路径服务在您的桌面应用程序中提供专用或本地托管的路径选择。 例如,将 ArcMap 中的查找路径对话框最初配置为从 ArcGIS Online 访问路径服务。 如果想要使用自己的服务(无论是因为您添加了特殊规则或数据,还是因为您不希望使用服务配额),可以将这些命令重新配置为使用您自己的路径服务。 这无需编写任何代码。
在 Web 应用程序和其他桌面情景中,路径服务必须以程序形式使用。 ArcGIS 开发人员有许多可以使用网络分析服务的平台可供选择,例如 ArcGIS Web API、ArcGIS Runtime SDK 和 REST API。