GetTravelModes

Сводка

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

Описание

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

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

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

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

Синтаксис

GetTravelModes (network_dataset_path)
ParameterОбъяснениеТип данных
network_dataset_path

Переменная, ссылающаяся на путь к каталогу набора сетевых данных, объект слоя набора сетевых данных или URL-адрес портала, настроенного для работы с сервисами сетевого анализа.

Путь к каталогу набора сетевых данных можно получить, используя свойство dataSource слоя набора сетевых данных или объекта слоя анализа сетевых данных. Также его можно получить, используя свойство catalogPath объекта сетевого набора данных Describe.

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

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

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)