Краткая информация
Возвращает словарь объектов режимов передвижения, которые доступны в источнике сетевых данных. Ключи словаря – это имена режимов передвижения, а значения словаря – это объекты режимов передвижения.
Обсуждение
Один или несколько режимов передвижения можно определить в локальном наборе сетевых данных или в сетевом источнике данных с портала ArcGIS Enterprise, портала ArcGIS Online или автономного сайта ArcGIS Server. Эта функция может использоваться для заполнения списка значений режимами передвижения, доступными в источнике сетевых данных. Например, инструмент-скрипт геообработки может иметь параметр типа String, называемый Режимы передвижения, который можно заполнить списком имен режимов передвижения, когда в диалоговом окне инструмента будет выбран набор сетевых данных.
Синтаксис
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 | Словарь, ключами которого являются имена режимов передвижения, а значениями – объекты режимов передвижения. |
Пример кода
Добавьте в набор сетевых данных режимы передвижения и распечатайте режим передвижения пешком.
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
В следующем примере кода показано, как вызвать GetTravelModes для службы маршрутизации на автономном сайте ArcGIS Server.
Узнайте больше о том, как указать информационный словарь сервисов маршрутизации.
travel_modes = arcpy.nax.GetTravelModes(
{
"utilityUrl": f"https://mysite.mydomain.com/:6443/arcgis/rest/services/MyRouting/NetworkAnalysisUtilities/GPServer",
"authenticationInfo": {
"username": "my_username",
"password": "my_password"
}
}
)