GetTravelModes

Краткая информация

Возвращает словарь объектов режимов передвижения, которые доступны в источнике сетевых данных. Ключи словаря – это имена режимов передвижения, а значения словаря – это объекты режимов передвижения. Объекты режимов передвижения могут использоваться для обновления объекта свойств механизма расчета (RouteSolverProperties, ClosestFacilitySolverProperties, ServiceAreaSolverProperties, ODCostMatrixSolverProperties, VehicleRoutingProblemSolverProperties или LocationAllocationSolverProperties), перед выполнением определенного анализа.

Обсуждение

Один или несколько режимов передвижения можно определить в локальном наборе сетевых данных или в сетевом источнике данных с портала ArcGIS Enterprise, портала ArcGIS Online или автономного сайта ArcGIS Server. Эта функция может использоваться для заполнения списка значений режимами передвижения, доступными в источнике сетевых данных. Например, инструмент-скрипт геообработки может иметь параметр типа String, называемый Режимы передвижения, который можно заполнить списком имен режимов передвижения, когда в диалоговом окне инструмента будет выбран набор сетевых данных.

Если источник сетевых данных не поддерживает режимы передвижения, то эта функция возвратит пустой словарь.

Для использования GetTravelModes с URL-адресом портала необходимо выполнить вход на портал.

Учетные записи пользователей ArcGIS Online могут быть настроены для использования различных языков, что меняет имена доступных режимов передвижения. Чтобы включить функцию написания скриптов, работающую независимо от языка, заданного для учетной записи пользователя, ключи словаря, возвращаемые функцией GetTravelModes, всегда соответствуют имени режима передвижения на английском языке. Чтобы получить локализованное имя режима передвижения, используйте свойство name объекта режима передвижения.

Синтаксис

GetTravelModes (network_dataset_path)
ПараметрОписаниеТип данных
network_dataset_path

The network dataset or service from which to retrieve travel modes. The argument can be specified using one of the following options:

String
Возвращаемое значение
Тип данныхОписание
Dictionary

Словарь, ключами которого являются имена режимов передвижения, а значениями – объекты режимов передвижения.

Пример кода

GetTravelModes, пример 1

Добавьте в набор сетевых данных режимы передвижения и распечатайте режим передвижения пешком.

import arcpy

nds = 'C:/Data/SanDiego.gdb/Transportation/Streets_ND'
travel_modes = arcpy.na.GetTravelModes(nds)
print(travel_modes['Walking Time'])
GetTravelModes, пример 2

Создайте список имен режимов передвижения на ArcGIS Online. Эти имена могут быть локализованы в зависимости от настроек учетной записи пользователя.

import arcpy

travel_modes = arcpy.na.GetTravelModes("https://www.arcgis.com/")
travel_mode_names = [travel_modes[mode].name for mode in travel_modes]
GetTravelModes 3, пример 3

В этом примере показано, как получить режим передвижения в сети и напечатать некоторые из его параметров.

import arcpy

network = r"C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
# Get all travel modes from the network dataset
travel_modes = arcpy.na.GetTravelModes(network)

# Print the impedance attribute and restrictions used for each travel mode
for travel_mode_name in travel_modes:
    travel_mode = travel_modes[travel_mode_name]
    print(travel_mode_name)
    print("Impedance:", travel_mode.impedance)
    print("Restrictions:", ", ".join(travel_mode.restrictions))
    print("")
GetTravelModes, пример 4

В этом примере показано, как скопировать режим передвижения в сети, обновить его свойства и использовать в анализе.

import arcpy

network = r"C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
# Get all travel modes from the network dataset
travel_modes = arcpy.na.GetTravelModes(network)
# Construct a new TravelMode object from the existing Driving Time travel mode
new_travel_mode = arcpy.na.TravelMode(travel_modes["Driving Time"])
# Update the useHierarchy property to turn hierarchy off, and update the name
new_travel_mode.name = "Driving Time without Hierarchy"
new_travel_mode.useHierarchy = "NO_HIERARCHY"
# Use the new travel mode object when creating an OD cost matrix analysis layer
arcpy.na.MakeODCostMatrixAnalysisLayer(network, "OD Cost Matrix", new_travel_mode)
GetTravelModes, пример 5

В следующем примере кода показано, как вызвать GetTravelModes для службы маршрутизации на автономном сайте ArcGIS Server.

Узнайте больше о том, как указать информационный словарь сервисов маршрутизации

travel_modes = arcpy.na.GetTravelModes(
    {
        "utilityUrl": f"https://mysite.mydomain.com/:6443/arcgis/rest/services/MyRouting/NetworkAnalysisUtilities/GPServer",
        "authenticationInfo": {
            "username": "my_username",
            "password": "my_password"
        }
    }
)