发布路径服务实用程序能够发布方向、路径和基于网络数据集的物流服务至您的 ArcGIS Server 站点。 这些服务可在交通网下执行以下分析:路径、最近设施点、服务区、位置分配、起点-目的地成本矩阵或车辆配送问题。
如果 ArcGIS Server 站点与门户联合,则可通过门户将服务配置为实用程序服务。 发布后,这些服务可以在客户端应用程序(比如:ArcGIS Pro、ArcGIS Desktop)或在 ArcGIS Enterprise 门户的 Map Viewer 中来获取方向和执行分析。
这些服务与 ArcGIS Online 上的方向和路径服务相似,但这些服务基于您自己的网络数据集并在 ArcGIS Enterprise 下运行。
许可:
要使用该实用程序,您的 ArcGIS Server 站点需要 ArcGIS Network Analyst extension 许可。
提示:
在 ArcGIS Server 10.8 中,此实用程序创建的服务得到了显著改善。 如果您要从之前的版本升级现有的 ArcGIS Server 站点,建议您删除该工具在之前版本的服务器站点中创建的所有现有路径服务,并使用该工具的最新版本重新发布这些路径服务。
数据要求
您可以将此实用程序与可用作 ArcGIS StreetMap Premium 的网络数据集一起使用,也可以将其与存储在文件地理数据库、企业级地理数据库或移动地图包中的您自己的网络数据集一起使用。 在运行实用程序之前,网络数据集应复制到所有参与 ArcGIS Server 站点的计算机中(应复制到相同目录路径下)。 如果您的网络数据集存储在企业级地理数据库中,则服务器站点中的所有计算机都必须可以访问企业级地理数据库。
提示:
虽然可以在访问服务器站点上所有计算机的共享位置中保留基于文件地理数据库或移动地图包的网络数据集,但仍建议在运行服务时将这些网络数据集复制到每个本地的计算机上,以便能够达到最佳运行效果。
如果 ArcGIS StreetMap Premium 数据已进行了许可,则运行本实用程序前,需要在每个计算机上安装适当的数据许可。 请按照要求在 Linux 或 上安装数据许可。
实用程序支持 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.domain.com 或 https://gisserver.domain.com:6443/arcgis 格式下 ArcGIS Server 站点的本地 URL。 |
-P | 已安装了与 ArcGIS Server 站点联合的门户的计算机完全限制域名,例如:gisportal.domain.com。 另外,该值可以是 https://gisportal.domain.com:7443/arcgis 格式中的门户的本地 URL。仅托管路径服务的 ArcGIS Server 站点与该门户联合时需要该选项的值。 |
-n | 网络数据集的完整路径。 如果网络数据集位于文件地理数据库中,则 -n 选项应包括文件地理数据库的路径、网络数据集的名称以及包含网络数据集的要素数据集的名称。 例如:该选项的值可以是:Windows 下的 c:\data\Streets.gdb\Routing\Routing_ND 以及 Linux 下的 /data/Streets.gdb/Routing/Routing_ND,Streets.gdb 是文件地理数据库,该数据库具有要素数据集(名为路径)中名为 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_ND 的网络数据集。 如果网络数据集位于企业级地理数据库中,则 -n 选项应包括数据库连接文件的路径、网络数据集的名称以及包含网络数据集的要素数据集的名称。 例如:该选项的值可以是:Windows 下的 c:\street_data\egdb.sde\Routing\Routing_ND 以及 Linux 下的 /street_data/egdb.sde/Routing/Routing_ND,egdb.sde 是企业级地理数据库的连接文件,该数据库具有要素数据集(名为路径)中的 Routing_ND 网络数据集。 |
-o | 文件夹路径,路径下的实用程序会为服务创建服务定义文件和一个名为 publishroutingservices.log 的日志文件,该日志文件包含有关执行的详细信息以及任何可能遇到的错误。 |
-f | 用于在 ArcGIS Server 站点上创建所有路径服务的文件夹名称。 默认值为 Routing。 |
-e | 包含多个网络数据集范围的范围要素类的完整路径。 仅当发布需要使用多个网络数据集的服务时,才应指定此选项。 请联系 Esri 专业服务以获取有关如何使用此选项来设置路径服务的更多详细信息。 |
-S | 要在服务中包含的求解器列表。 有效的选择包含 Route、ClosestFacility、ServiceArea、OriginDestinationCostMatrix、Location-Allocation 和 VehicleRoutingProblem。 此选项的值指定为使用逗号分隔的有效选项列表。 以上选项值区分大小写。 默认值是为所有求解器创建服务。 |
-c | 完整路径包含具有服务其他配置的文件名。 您可以使用此配置文件为路径服务指定某些属性(例如最小和最大实例数)。 ArcGIS Server 安装目录中 framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices 文件夹包括两个示例配置文件(publishroutingservices.json 和 publishroutingservices_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.domain.com -P gisportal.domain.com -u admin -p secret -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=/data/routing-services/service-definitions
-n=/data/Streets.gdb/Routing/Routing_ND
要使用以上 tool-params.txt 文件调用工具,请调用工具并使用 @ 符号指定文件路径。
警告:
确保带参数的文件没有任何额外的新行或空格。
/arcgis/server/tools/publishroutingservices/publishroutingservices @/data/tool-params.txt