Skip To Content

网络分析服务

您可能已经使用 Web 应用程序来获得两点之间的行进路线或根据输入的地址列出附近的设施点(如诊所)。这些应用程序将使用服务器上的网络分析,根据您所提供的信息查找合适的路径及设施点。您不必在计算机上安装任何专用的网络分析软件便可得到所需的结果,因为服务器会替您完成此项工作并通过 Web 服务将结果返回到您的计算机。

您可以使用 ArcGIS Enterprise 托管类似的服务来执行交通网络分析操作,例如查找最近设施点、绘制车辆或车队的最佳行进路线、使用位置分配定位设施点、计算 OD 成本矩阵以及生成服务区。这些服务使用 Network Analyst 扩展模块对网络数据集执行分析。

注:

网络分析服务不能用于对几何网络执行几何网络分析。而是您需使用 ArcGIS Desktop。有关详细信息,请参阅什么是几何网络?

创建网络分析服务的第一步是使用 ArcMap 创建一个包含网络分析图层的地图文档。然后将地图发布为服务,并确保启用“网络分析”功能。您可以利用 ArcGIS 附带的各种工具来使用生成的服务。以下几个部分将详细介绍此过程。

创建地图文档

在发布网络分析服务之前,您需要首先使用 ArcGIS Desktop 创建一个地图文档,此地图文档中至少要包含将要在服务中使用的网络分析图层。您可以通过添加数据对话框添加一个现有的网络分析图层,也可以通过 Network Analyst 工具栏根据地图上已有的网络图层(引用网络数据集)创建一个新的网络分析图层。如果希望服务在地图上返回分析结果的图像,则您还需要在地图上添加其他所有要显示的图层,并对它们的符号系统进行相应调整。

您还可以使用 ArcGIS Desktop 设置默认情况下将在分析中应用的参数。这包括网络位置(如设施点和障碍)以及求解程序属性(例如要查找的设施点数和限制)。有关在 ArcGIS Desktop 中使用网络分析图层的详细信息,请参阅 Network Analyst 帮助部分。

发布服务

创建并保存地图文档后,您可以按照如何发布服务中的步骤来创建网络分析服务。发布资源时,请注意以下事项:

  • ArcGIS Desktop 中,有两种发布方案:一种是发布时将数据复制到服务器,另一种是发布时不将数据复制到服务器。如果发布时不将数据复制到服务器,那么在发布之前您需要明确授予 ArcGIS Server 帐户对地图文档所引用的数据的读取权限。如果发布时将数据复制到服务器,则不需要授予 ArcGIS Server 帐户对数据的访问权限。在帮助主题使数据可供 ArcGIS Server 访问中对这一过程进行了详细介绍。

  • 服务编辑器中指定服务的功能时,请确保网络分析已启用。

有关发布网络分析服务的详细示例,请参阅教程:发布网络分析服务

Network Analyst 功能

以下部分将介绍发布服务之前可以设置的不同功能。

常规

启用网络分析后,您可以在服务编辑器对话框中指定以下常规设置。

  • 输出目录:写入结果图层的位置。

  • 默认输出几何精度:该值用于设置概化后输出几何的默认精度。如果其设置为零或未指定,则不会对输出几何执行概化。如果其已指定或为正值,则表示 MaximumAllowableOffset 参数。将根据 IPolycurve.Generalize 执行概化。

  • 允许用户在服务器上保存结果图层:此框用于指定用户是否可将结果图层保存在服务器上以供将来再次使用。

  • 发生错误时将结果图层保存在服务器上:此框用于指定分析过程中发生错误时,是否将结果图层自动保存在输出目录中。如果选中,则此选项可帮助对错误进行故障排除。

  • 调试时将结果图层保存在服务器上:选中此框后,如果日志级别设置为 DEBUG,则结果图层将自动保存在每个请求的输出目录中。

  • 忽略网络位置字段:如果通过请求传递位置字段,则此设置可指示服务不使用输入分析位置(停靠点、障碍、设施点、事件等)上的位置字段。如果街道名称经常改变,则忽略网络位置字段将有助于避免传递包含无效位置字段的请求。

约束

约束是一组属性,可以针对每个求解程序定义此属性,以设置服务输出的参数。可以在约束选项卡中设置这些属性。各个求解程序通用的约束如下:

  • 最大障碍数量:每个请求允许传递的最大点障碍数量。
  • 与线障碍相交的最大要素数量:可以按每个请求的线障碍数量来限制最大街道数量。
  • 与面障碍相交的最大要素数量:可以按每个请求的面障碍数量来限制最大街道数量。
  • 超出(输入范围)强制分级超出(输入范围)强制分级的单位:当停靠点之间的距离较远时,如果未选中此选项,则解决请求会需要大量的时间和服务器资源。

每个求解程序还具有其他可设置的约束:

路径

  • 最大停靠点数量:用户允许每个请求传递的最大停靠点数量。
  • 允许时间窗口:此选项用于指定服务是否支持用户在输入停靠点上传递时间窗口。

服务区

  • 最大设施点数量:每个请求允许传递的最大设施点数量。
  • 最大中断:最大中断的单位:可以针对服务区请求指定的最大中断值。阻抗单位可以基于:
    • 时间
    • 长度
    • 其他
  • 超出(中断)强制分级超出(中断)强制分级的单位:可以针对服务区请求指定的最大中断值。达到此最大值后,服务器可自动将请求更改为使用网络等级。

最近设施点

  • 最大设施点数量:每个请求允许传递的最大设施点数量。
  • 要找到的最大设施点数量:您希望服务可在每个请求内找到的事件中的最大设施点数量。
  • 最大事件数量:每个请求允许传递的最大事件数量。

OD 成本矩阵

  • 最大目的地数量:每个请求允许传递的最大目的地数量。
  • 要找到的最大目的地数量:您希望服务可在每个请求内找到的自起点的最大目的地数。
  • 最大起点数量:每个请求允许传入的最大起点数量。

车辆配送问题

  • 最大停靠点数量:每个请求允许传递的最大停靠点数量。
  • 最大路径数量:每个请求允许传递的最大路径数量。

位置分配

  • 最大请求点数量:每个请求允许传递的最大请求点数量。
  • 最大设施点数量:每个请求允许传递的最大设施点数量。

使用服务

您可以使用网络分析服务在您的桌面应用程序中提供专用或本地托管的路径选择。例如,ArcGIS Desktop 中的查找路径对话框和 Explorer for ArcGIS 中的路径对话框最初配置为访问 Esri 网络分析服务。如果想要使用自己的服务(无论是因为您添加了特殊规则或数据,还是因为您缺少 Internet 连接),可以将这些命令重新配置为使用您自己的网络分析服务。这无需编写任何代码。

在 Web 应用程序和其他桌面情景中,网络分析服务必须以程序形式使用。ArcGIS 开发人员有许多可以使用网络分析服务的平台可供选择,例如 ArcGIS Web API 以及 SOAP 和 REST API。也可利用粗粒度对象 NAServer 通过 ArcObjects 使用服务器上的网络分析。

了解有关访问网络服务的多种 API 的详细信息。

使用地理处理服务进行网络分析

如果您不愿意编写代码,仍然可以通过地理处理服务向 Web 应用程序中添加网络分析功能。地理处理服务通常通过已在模型构建器中构建的模型来工作,也可以通过作为服务发布的单独工具(例如求解车辆配送 (VRP)生成服务区)来工作。用户向地理处理服务提交一些输入,模型或工具在服务器上运行,然后将结果发送回用户计算机。

还可以使用实时交通流动速度执行任何网络分析。为此,需要使用更新流量数据地理处理工具来设置您自己的流量服务,并将要执行分析的网络数据集指向该服务。此外,还可以将网络数据集指向在 ArcGIS Online 中提供的流量服务。请确保您所设置的分析指定的是一个基于流量的成本属性(例如 TravelTime),并指定了一个开始时间。

可用功能

某些 Esri 客户端 API 在使用网络分析服务时所允许的复杂程度会有所变化。下表说明可用于各个 API 的求解程序:

ArcGIS API网络分析服务地理处理服务

JavaScript、REST、Windows Phone、iOS

路径分析、服务区分析、最近设施点分析

所有

SOAP

所有

所有