网络分析服务
您可能已经使用过 Web 应用程序来获得两点之间的行进路线或根据输入的地址列出附近的设施点(如诊所)。这些应用程序使用服务器上的网络分析,根据您所提供的信息找到合适的路径及设施点。您不必在计算机上安装任何专用的网络分析软件便可得到所需的结果,因为服务器会替您完成此项工作并通过 Web 服务将结果返回到您的计算机。
您可以使用 ArcGIS for Server 托管类似的服务来执行交通网络分析操作,例如查找最近设施点、车辆的最佳行进路线、车队的最佳行进路线;使用位置分配定位设施点;计算 OD 成本矩阵以及生成服务区。这些服务使用 Network Analyst 扩展模块对网络数据集执行分析。
网络分析服务不能用于对几何网络执行几何网络分析。要执行几何网络分析,您需要使用 ArcGIS for Desktop。有关详细信息,请参阅什么是几何网络?
创建网络分析服务的第一步是使用 ArcMap 创建一个包含网络分析图层的地图文档。然后将地图发布为服务,并确保启用“网络分析”功能。您可以利用 ArcGIS 附带的各种工具来使用生成的服务。以下几个部分将详细介绍此过程。
创建地图文档
在发布网络分析服务之前,您需要首先使用 ArcMap 创建一个地图文档,此地图文档中至少要包含将要在服务中使用的网络分析图层。您可以通过添加数据 对话框添加一个现有的网络分析图层,也可以通过 Network Analyst 工具条根据地图上已有的网络图层(引用网络数据集)创建一个新的网络分析图层。如果希望服务在地图上返回分析结果的图像,则您还需要在地图上添加其他所有要显示的图层,并对它们的符号系统进行相应调整。
您还可以使用 ArcMap 设置默认情况下将在分析中应用的参数。这包括网络位置(如设施点和障碍)以及求解程序属性(例如要查找的设施点数和限制)。有关在 ArcMap 中使用网络分析图层的详细信息,请参阅 ArcGIS 帮助中的 Network Analyst 部分。
发布服务
创建并保存地图文档后,您可以按照如何发布服务中的步骤来创建网络分析服务。发布资源时,请注意以下事项:
在 ArcGIS for Desktop 中,有两种发布方案:一种是发布时将数据复制到服务器,另一种是发布时不将数据复制到服务器。如果发布时不将数据复制到服务器,那么在发布之前您需要明确授予 ArcGIS Server 帐户对地图文档所引用的数据的读取权限。如果发布时将数据复制到服务器,则不需要授予 ArcGIS Server 帐户对数据的访问权限。使数据可供 ArcGIS for Server 访问中对这一过程进行了详细介绍。
在服务编辑器 中指定服务的功能时,请确保网络分析已启用。
有关发布网络分析服务的详细示例,请参阅教程:发布网络分析服务。
使用服务
您可以使用网络分析服务在您的桌面应用程序中提供专用或本地托管的路径选择。例如,ArcMap 中的查找路径 对话框和 ArcGIS Explorer 中的路径 对话框的初始设置为访问 Esri 托管的网络分析服务。如果想要使用自己的服务(无论是因为您添加了特殊规则或数据,还是因为您缺少 Internet 连接),可以将这些命令重新配置为使用您自己的网络分析服务。这无需编写任何代码。
在 Web 应用程序和其他桌面情景中,网络分析服务必须以程序形式使用。ArcGIS 开发人员有许多可以使用网络分析服务的平台可供选择,例如 ArcGIS Web API 以及 SOAP 和 REST API。也可利用粗粒度对象 NAServer 通过 ArcObjects 使用服务器上的网络分析。
ArcGIS Web API 应用程序中的网络分析
ArcGIS 资源中心包含有关在适用于 JavaScript、Flex 和 Silverlight 的 ArcGIS Web API 中使用网络分析服务的详细帮助。但是,无论对于哪种 API,使用网络分析服务的基本模式都是相同的:
- 获得对网络分析服务的引用。
- 设置求解程序参数。这些参数包括您想要执行的分析的类型以及分析过程中要使用的网络位置(如停靠点)。
- 调用网络分析服务的求解方法,传入求解程序参数。
- 处理从服务返回的结果。这包括在地图上显示结果或报告驾车路线。
要查看网络分析服务的实时示例,请访问下面的链接:
- ArcGIS API for JavaScript
- ArcGIS API for Flex(在内容列表中,展开 Network Analyst 任务。)
- ArcGIS API for Silverlight(在内容列表中,展开网络。)
使用 ArcObjects 的网络分析
ArcGIS 资源中心中的 ArcObjects SDK for the Microsoft .NET Framework 页面提供了可帮助您学习使用 SOAP 和 REST 开发网络分析服务的入门知识的一些概念和示例。有关详细信息,请访问以下链接:
- 执行点到点路径选择 (REST)
- 执行最近设施点分析 (REST)
- 计算服务区面和服务区线 (REST)
- 根据地理编码地址生成路径和方向 (SOAP)
- 执行路径网络分析 (SOAP)
使用地理处理服务进行网络分析
如果您不愿意编写代码,仍然可以通过地理处理服务向 Web 应用程序中添加网络分析功能。地理处理服务通常通过已在模型构建器中构建的模型来工作,也可以通过作为服务发布的单独工具(例如求解车辆配送 (VRP) 或生成服务区)来工作。用户向地理处理服务提交一些输入,模型或工具在服务器上运行,然后将结果发送回用户计算机。
还可以使用实时交通流动速度执行任何网络分析。为此,需要使用更新流量数据地理处理工具来设置您自己的流量服务,并将要执行分析的网络数据集指向该服务。此外,还可以将网络数据集指向在 ArcGIS Online 中提供的流量服务。请确保您所设置的分析指定的是一个基于流量的成本属性(例如 TravelTime),并指定了一个开始时间。
可用功能
某些 ESRI 客户端 API 在使用网络分析服务时所允许的复杂程度会有所变化。下表说明可用于各个 API 的求解程序:
ArcGIS API |
网络分析服务 |
地理处理服务 |
---|---|---|
JavaScript、Flex、Silverlight、REST、Windows Phone、iOS |
路径分析、服务区分析、最近设施点分析 |
全部 |
SOAP |
全部 |
全部 |