Краткая информация
Возвращает словарь объектов режимов передвижения, которые доступны в источнике сетевых данных. Ключи словаря – это имена режимов передвижения, а значения словаря – это объекты режимов передвижения. Объекты режимов передвижения могут использоваться для обновления объекта свойств механизма расчета (RouteSolverProperties, ClosestFacilitySolverProperties, ServiceAreaSolverProperties, ODCostMatrixSolverProperties, VehicleRoutingProblemSolverProperties или LocationAllocationSolverProperties), перед выполнением определенного анализа.
Обсуждение
Один или несколько режимов передвижения можно задать в локальном наборе сетевых данных или в источнике сетевых данных с портала ArcGIS Enterprise или ArcGIS Online. Эта функция может использоваться для заполнения списка значений режимами передвижения, доступными в источнике сетевых данных. Например, инструмент-скрипт геообработки может иметь параметр типа String, называемый Режимы передвижения, который можно заполнить списком имен режимов передвижения, когда в диалоговом окне инструмента будет выбран набор сетевых данных.
Если источник сетевых данных не поддерживает режимы передвижения, то эта функция возвратит пустой словарь.
Для использования GetTravelModes с URL-адресом портала необходимо выполнить вход на портал.
Учетные записи пользователей ArcGIS Online могут быть настроены для использования различных языков, что меняет имена доступных режимов передвижения. Чтобы включить функцию написания скриптов, работающую независимо от языка, заданного для учетной записи пользователя, ключи словаря, возвращаемые функцией GetTravelModes, всегда соответствуют имени режима передвижения на английском языке. Чтобы получить локализованное имя режима передвижения, используйте свойство name объекта режима передвижения.
Синтаксис
GetTravelModes (network_dataset_path)
Параметр | Описание | Тип данных |
network_dataset_path | Набор сетевых данных или URL-адрес портала, настроенного с помощью сервисов сетевого анализа. На набор сетевых данных можно ссылаться как на путь каталога, объект слоя набора сетевых данных или имя слоя. | String |
Тип данных | Описание |
Dictionary | Словарь, ключами которого являются имена режимов передвижения, а значениями – объекты режимов передвижения. |
Пример кода
Добавьте в набор сетевых данных режимы передвижения и распечатайте режим передвижения пешком.
import arcpy
nds = 'C:/Data/SanDiego.gdb/Transportation/Streets_ND'
travel_modes = arcpy.na.GetTravelModes(nds)
print(travel_modes['Walking Time'])
Создайте список имен режимов передвижения на 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]
В этом примере показано, как получить режим передвижения в сети и напечатать некоторые из его параметров.
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("")
В этом примере показано, как скопировать режим передвижения в сети, обновить его свойства и использовать в анализе.
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)