Skip to main content

发布路径服务实用程序

发布路径服务实用程序能够发布方向、路径和基于网络数据集的物流服务至您的 ArcGIS Server 站点。 这些服务可在交通网下执行以下分析:路径、最近设施点、服务区、位置分配、起点-目的地成本矩阵或车辆配送问题。

如果联合了 ArcGIS Server 站点,服务将通过组织配置为实用程序服务。 发布后,这些服务可以在客户端应用程序(例如 ArcGIS Pro 或 Map Viewer)中获取方向执行分析

这些服务与 ArcGIS Online 上的方向和路径服务相似,但这些服务基于您自己的网络数据集并在 ArcGIS Enterprise 下运行。

许可:

要使用该实用程序,ArcGIS Server 站点必须具有 ArcGIS Network Analyst 扩展模块许可

提示:

在 ArcGIS Server 10.8 中,此实用程序创建的服务得到了显著改善。 如果您要从之前的版本升级现有的 ArcGIS Server 站点,建议您删除该工具在之前版本的服务器站点中创建的所有现有路径服务,并使用该工具的最新版本重新发布这些路径服务。

数据要求

您可以将此实用程序与 ArcGIS StreetMap Premium 中的可用网络数据集一起使用,也可以将其与存储在文件地理数据库、企业级地理数据库或移动地图包中的您自己的网络数据集一起使用。 在运行实用程序之前,网络数据集应复制到所有参与 ArcGIS Server 站点的计算机中(应复制到相同目录路径下)。 如果您的网络数据集存储在企业级地理数据库中,则服务器站点中的所有计算机都必须可以访问企业级地理数据库。

提示:

虽然可以将基于文件地理数据库或移动地图包的网络数据集保留在服务器站点中所有计算机均可访问的共享位置中,但仍建议将网络数据集复制到每台计算机的本地位置,以便在运行服务时达到最佳运行效果。

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

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

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

旧版本:

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

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

  • 至少具备一项基于时间和一个基于距离的成本属性

  • 至少定义一个出行模式

  • 支持方向

如果您使用的是移动地图包中的网络数据集(例如 StreetMap Premium for ArcGIS 移动地图包),则应首先运行提取包地理处理工具,以在运行发布路径服务实用程序之前将移动地图包的内容提取到本地文件夹。

参数

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

参数

详细信息

-u

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

-p

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

-s

运行 ArcGIS Server 的计算机的完全限定域名,例如 gisserver.example.com,或 ArcGIS Server 站点的本地 URL,格式如下:https://gisserver.example.com:6443/arcgis

-P

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

-n

网络数据集的完整路径。

如果网络数据集位于文件地理数据库中,则 -n 选项值应包括文件地理数据库的路径、网络数据集的名称以及包含网络数据集的要素数据集的名称。 例如:该选项的值可以是:Windows 下的 c:\data\Streets.gdb\Routing\Routing_ND 以及 Linux 下的 /data/Streets.gdb/Routing/Routing_ND,其中 Streets.gdb 是文件地理数据库,该数据库具有要素数据集(名为 Routing)中名为 Routing_ND 的网络数据集。

如果网络数据集位于移动地图包中,则 -n 选项值应包括从提取移动地图包的文件夹到 SQLite 数据库的路径、网络数据集的名称以及包含网络数据集的要素数据集的名称。 例如:该选项的值可以是:Windows 下的 c:\street_data\p14\northamerica.geodatabase\Routing\Routing_ND 以及 Linux 下的 /data/street_data/p14/northamerica.geodatabase/Routing/Routing_ND,其中 northamerica.geodatabase 是 SQLite 地理数据库,该数据库具有要素数据集(名为 Routing)中名为 Routing_ND 的网络数据集。

如果网络数据集位于企业级地理数据库中,则 -n 选项值应包括数据库连接文件的路径、网络数据集的名称以及包含网络数据集的要素数据集的名称。 例如:该选项的值可以是:Windows 下的 c:\street_data\egdb.sde\Routing\Routing_ND 以及 Linux 下的 /street_data/egdb.sde/Routing/Routing_ND,其中 egdb.sde 是企业级地理数据库的连接文件,该数据库具有要素数据集(名为 Routing)中的 Routing_ND 网络数据集。

-o

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

-f

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

-e

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

-S

要在服务中包含的求解器列表。 有效的选择包含 RouteClosestFacilityServiceAreaOriginDestinationCostMatrixLocation-AllocationVehicleRoutingProblemLastMileDeliverySnapToRoads。 此选项的值指定为使用逗号分隔的有效选项列表。 以上选项值区分大小写。 默认值是为所有求解器创建服务。

-c

完整路径包含具有服务其他配置的文件名。

您可以使用此配置文件为路径服务指定某些属性(例如最小和最大实例数)。 ArcGIS Server 安装目录中 framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices 文件夹包括两个示例配置文件(publishroutingservices.jsonpublishroutingservices_dedicated.json),可以显示所有受支持的设置。 默认情况下,该工具使用 publishroutingservices.json 文件。

-d

指定此选项将为每个求解器创建专用服务。 此为高级选项。 指定此选项后,您的 ArcGIS Server 站点将使用更多的计算和内存资源。 建议仅在专用 ArcGIS Server 站点上使用此选项。

使用此选项时,-c 选项将指定与 publishroutingservices_dedicated.json 文件相似的配置文件。

-h

打印该实用程序的帮助。

示例

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

注意:

如果实用程序支持的任一参数的值使用了 @ 字符,则无法在命令行中指定参数值。 相反,您应该将参数保存在文件中并从文件传递参数。

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

/arcgis/server/tools/publishroutingservices/publishroutingservices -s gisserver.example.com -P gisportal.example.com -u admin -p secret -o /data/routing-services/service-definitions -n /data/Streets.gdb/Routing/Routing_ND

在 ArcGIS Server 上发布路径服务。 示例假设 ArcGIS Server 安装位置为 C:\Program Files\ArcGIS\Server

"C:\Program Files\ArcGIS\Server\tools\PublishRoutingServices\publishroutingservices.bat" -s gisserver.example.com -P gisportal.example.com -u admin -p secret -o D:\RoutingServices\ServiceDefinitions -n D:\data\Streets.gdb\Routing\Routing_ND

从文件中传递参数

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

-u=admin
-p=secret
-s=gisserver.example.com
-P=gisportal.example.com
-o=/data/routing-services/service-definitions
-n=/data/Streets.gdb/Routing/Routing_ND
-u=admin
-p=secret
-s=gisserver.example.com
-P=gisportal.example.com
-o=D:\RoutingServices\ServiceDefinitions
-n=D:\data\Streets.gdb\Routing\Routing_ND

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

注意:

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

/arcgis/server/tools/publishroutingservices/publishroutingservices @/data/tool-params.txt

"C:\Program Files\ArcGIS\Server\tools\PublishRoutingServices\publishroutingservices.bat" @D:\RoutingServices\tool-params.txt