Использование сервисов маршрутизации на автономном сайте ArcGIS Server

Вы можете выполнять сетевой анализ с помощью модуля arcpy.nax, используя сервисы маршрутизации с автономного сайта ArcGIS Server. Поддерживаются классы механизма расчета (ClosestFacility, LocationAllocation, OriginDestinationCostMatrix, Route, ServiceArea, VehicleRoutingProblem) и функции GetTravelModes и GetWebToolInfo.

Более подробно об автономных сайтах ArcGIS Server

Более подробно о публикации сервисов маршрутизации на сайт ArcGIS Server

Указать автономный сайт ArcGIS Server в коде

При написании кода вместо пути к набору сетевых данных или URL-адреса портала ArcGIS Enterprise используйте словарь Python для указания URL-адресов автономных сайтов ArcGIS Server и сведений для проверки подлинности.

Информационный словарь сервиса маршрутизации включает следующие ключи:

  • url — URL REST сервиса маршрутизации. URL-адрес должен включать имя сервиса, но не должен включать имя инструмента в сервисе. Этот ключ является необязательным для функций GetTravelModes и GetWebToolInfo, но требуется для создания экземпляров классов механизма расчета.
  • utilityUrl — URL-адрес REST для сервиса утилит, содержащей инструменты, предоставляющие вспомогательную информацию о сервисе маршрутизации. URL-адрес не должен включать название инструмента. Этот ключ обязателен.
  • authenticationInfo — Словарь Python, содержащий учетные данные для использования при аутентификации подключения к сервису. Более подробная информация о том, как указать этот словарь, приведена ниже. Этот ключ не требуется для незащищенных сервисов.

Примечание:

URL-адреса сервисов маршрутизации в приведенных ниже примерах предполагают, что автономный сайт ArcGIS Server использует ArcGIS Web Adaptor.

Узнайте, как создавать соответствующие URL-адреса для других конфигураций

Незащищенный сервис

Для незащищенного сервиса ключ authenticationInfo не требуется.

Ниже приведен пример информационного словаря сервиса маршрутизации для незащищенного сервиса.

{
    "url": "https://webadaptorhost.domain.com/webadaptorname/rest/services/Routing/NetworkAnalysis/GPServer",
    "utilityUrl": "https://webadaptorhost.domain.com/webadaptorname/rest/services/Routing/NetworkAnalysisUtilities/GPServer"
}

Защищенный сервис со встроенной аутентификацией

Для защищенного сервиса со встроенной аутентификацией требуется ключ authenticationInfo, и его значение можно указать несколькими способами.

Внимание:

Файл подключения — это наиболее безопасный способ хранения учетных данных. Другие методы аутентификации менее безопасны.

Аутентификация с использованием имени пользователя и пароля

Для аутентификации с использованием имени пользователя и пароля словарю authenticationInfo требуются ключи username и password. Значения представляют собой простое текстовое имя пользователя и пароль, используемые для подключения к сервису.

Ниже приведен пример информационного словаря сервиса маршрутизации для сервиса со встроенной аутентификацией с использованием имени пользователя и пароля.

{
    "url": "https://webadaptorhost.domain.com/webadaptorname/rest/services/Routing/NetworkAnalysis/GPServer",
    "utilityUrl": "https://webadaptorhost.domain.com/webadaptorname/rest/services/Routing/NetworkAnalysisUtilities/GPServer",
    "authenticationInfo": {
        "username": "my_username",
        "password": "my_password"
    }
}

Аутентификация с помощью файла подключения

Для аутентификации с помощью файла подключения (.ags) словарю authenticationInfo требуется ключ connectionFile.

Узнайте, как создать файл подключения

Ниже приведен пример информационного словаря сервиса маршрутизации для сервиса со встроенной аутентификацией с использованием файла подключения.

{
    "url": "https://webadaptorhost.domain.com/webadaptorname/rest/services/Routing/NetworkAnalysis/GPServer",
    "utilityUrl": "https://webadaptorhost.domain.com/webadaptorname/rest/services/Routing/NetworkAnalysisUtilities/GPServer",
    "authenticationInfo": {
        "connectionFile": "C:\\data\\my_connection_file.ags"
    }
}