Краткая информация
Возвращает словарь объектов режимов передвижения, которые доступны в источнике сетевых данных. Ключи словаря – это имена режимов передвижения, а значения словаря – это объекты режимов передвижения.
Обсуждение
Один или несколько режимов передвижения можно задать в локальном наборе сетевых данных или в источнике сетевых данных с портала ArcGIS Enterprise или ArcGIS Online. Эта функция может использоваться для заполнения списка значений режимами передвижения, доступными в источнике сетевых данных. Например, инструмент-скрипт геообработки может иметь параметр типа String, называемый Режимы передвижения, который можно заполнить списком имен режимов передвижения, когда в диалоговом окне инструмента будет выбран набор сетевых данных.
Синтаксис
GetTravelModes (network_dataset_path)
Параметр | Описание | Тип данных |
network_dataset_path | Набор сетевых данных или URL-адрес портала, настроенного с помощью сервисов сетевого анализа. На набор сетевых данных можно ссылаться как на путь каталога, объект слоя набора сетевых данных или имя слоя. | String |
Тип данных | Описание |
Dictionary | Словарь, ключами которого являются имена режимов передвижения, а значениями – объекты режимов передвижения. |
Пример кода
Добавьте в набор сетевых данных режимы передвижения и распечатайте режим передвижения пешком.
import arcpy
nds = 'C:/Data/SanDiego.gdb/Transportation/Streets_ND'
travel_modes = arcpy.nax.GetTravelModes(nds)
print(travel_modes['Walking Time'])
Создайте список имен режимов передвижения на ArcGIS Online. Эти имена могут быть локализованы в зависимости от настроек учетной записи пользователя.
import arcpy
travel_modes = arcpy.nax.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.nax.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.nax.GetTravelModes(network)
# Construct a new TravelMode object from the existing Driving Time travel mode
new_travel_mode = arcpy.nax.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 constructing an OD cost matrix analysis
od_object = arcpy.nax.OriginDestinationCostMatrix(network)
od_object.travelMode = new_travel_mode