Skip To Content

发布路径服务实用程序

发布路径服务实用程序能够发布方向、路径和基于网络数据集的物流服务至您的 ArcGIS Server。这些服务可在交通网下执行以下分析:路径、最近设施点、服务区、位置分配、起点-目的地成本矩阵或车辆配送问题。如果 ArcGIS Server 与门户联合,则可通过门户将服务配置为实用程序服务。发布后,这些服务可以通过 ArcGIS Desktop 应用程序(比如:ArcGIS Pro、ArcMap)或在 ArcGIS Enterprise 门户下的 Map Viewer 应用程序中来获取方向执行分析。这些服务与 ArcGIS Online 上的方向和路径服务相似,但这些服务基于您自己的网络数据集并在 ArcGIS Enterprise 下运行。

许可:

要使用该实用程序,您的 ArcGIS Server 站点需要 ArcGIS Network Analyst 扩展模块 许可

数据要求

您可以将此实用程序与可用作 StreetMap Premium for ArcGIS 的网络数据集或您自己的网络数据集一起使用。在运行实用程序之前,网络数据集应复制到所有参与 GIS Server 站点的计算机中(应复制到相同目录路径下)。

提示:

虽然可以在访问 GIS Server 站点上所有计算机的共享位置中保留网络数据集,但仍建议在运行服务时将这些网络数据集复制到每个本地的计算机上,以便能够达到最佳运行效果。

如果 StreetMap Premium 数据已进行了许可,则运行本实用程序前,需要在每个计算机上安装适当的数据许可。请按照要求在 LinuxWindows 上安装数据许可。

实用程序支持 StreetMap Premium for ArcGIS 2015 年第 1 版或之后版本的网络数据集。

旧版本:

不支持 Streetmap Premium 网络数据集的早期版本(包括 SDC 格式的网络数据集)。

假如您使用的是自己的网络数据集,则需要符合以下条件:

  • 至少具备一项基于时间和一个基于距离的成本属性
  • 至少定义一个出行模式
  • 存储在文件地理数据库中
  • 支持方向

参数

在 GIS Server 站点正确设置网络数据集之后,可以通过以下参数运行发布路径服务实用程序。

参数详细信息

-u

ArcGIS Server 站点中具有发布者或管理权限的用户的用户名称。如果站点与门户联合,用户必须是门户用户并且拥有发布 web 工具及发布基于服务器的图层的管理权限或发布者权限。如果站点没有进行联合,用户则需要拥有管理权限。如果站点配置了 Web 层身份验证,则需指定内置用户,例如主站点管理员帐户或门户中的初始管理员帐户。

-p

指定使用 -u 参数的用户的密码。

-s

运行 ArcGIS Server 的计算机的完全限制域名如下:gisserver.domain.comhttps://gisserver.domain.com:6443/arcgis 格式下 ArcGIS Server 站点的本地 URL。

-P

已安装了与 ArcGIS Server 站点联合的门户的计算机完全限制域名,例如:gisportal.domain.com。另外,该值可以是 https://gisportal.domain.com:7443/arcgis 格式中的门户的本地 URL。仅托管路径服务的 ArcGIS Server 与该门户联合时需要该选项的值。

-n

网络数据集的完整路径。该路径应与连同文件地理数据库的路径一起包含网络数据集的名称和含有网络数据集的要素数据集的名称。例如:该选项的值可以是:Windows 下的 c:\data\Streets.gdb\Routing\Routing_ND 以及 Linux 下的 /data/Streets.gdb/Routing/Routing_NDStreets.gdb 是文件地理数据库,该数据库具有要素数据集(名为路径)中名为 Routing_ND 的网络数据集。

-o

文件夹路径,路径下的实用程序会为服务创建服务定义文件和一个名为 publishroutingservices.log 的日志文件,该日志文件包含有关执行的详细信息以及任何可能遇到的错误。

-f

用于在 ArcGIS Server 站点上创建所有路径服务的文件夹名称。默认值为 Routing

-e

包含多个网络数据集范围的范围要素类的完整路径。仅当发布需要使用多个网络数据集的服务时,才应指定此选项。请联系 Esri 专业服务以获取有关如何使用此选项来设置路径服务的更多详细信息。

-h

打印实用程序的帮助。

示例

以下示例显示了在与门户联合的 ArcGIS Server 站点上调用发布路径服务实用程序的方法。

在 ArcGIS Server 上发布路径服务 (Windows)。

C:\Python27\ArcGISx6410.6\python.exe "C:\Program Files\ArcGIS\Server\tools\PublishRoutingServices\publishroutingservices.py" -s gisserver.domain.com -P gisportal.domain.com -u admin -p site.admin -o D:\RoutingServices\ServiceDefinitions -n D:\data\Streets.gdb\Routing\Routing_ND

在 ArcGIS Server 上发布路径服务 (Linux)。示例假设 ArcGIS Server 安装位置为 /arcgis/server

注:

与 Windows 系统不同的是,Linux 系统上运行实用程序时无需指定 Python 的安装位置。

/arcgis/server/tools/publishroutingservices/publishroutingservices -s gisserver.domain.com -P gisportal.domain.com -o /data/routing-services/service-definitions -n /data/Streets.gdb/Routing/Routing_ND
从文件中传递参数

可以通过从文件中传递参数来调用实用程序。如果运行实用程序作为自动化进程的一部分,或者不希望在命令行中键入所有选项,则此参数非常有用。为了从文件中指定参数,请创建一个文本文件,然后在新行中指定每个选项。应使用 = 符号分隔参数名称和值。具有各种选项的示例文件如下所示。

-u=admin
-p=secret
-s=gisserver.domain.com
-P=gisportal.domain.com
-o=D:\RoutingServices\ServiceDefinitions
-n=D:\data\Streets.gdb\Routing\Routing_ND

要使用以上 tool-params.txt 文件调用工具,请调用工具并使用 @ 符号指定文件路径。

警告:

确保带参数的文件没有任何额外的新行或空格。

C:\Python27\ArcGISx6410.6\python.exe "C:\Program Files\ArcGIS\Server\tools\PublishRoutingServices\publishroutingservices.py" @D:\RoutingServices\tool-params.txt