Краткая информация
Предоставляет доступ к свойствам режима передвижения (чтение и запись).
Обсуждение
Объект TravelMode предоставляет доступ для чтения и записи к свойствам режима передвижения. Режимы передвижения могут быть созданы в наборе сетевых данных или настроены в сетевом сервисе портала и моделируют режим транспортировки (время в пути легкового автомобиля, длина пути пешехода, время в пути грузового транспорта для транспортных средств высотой от 13 футов и весом от 80000 фунтов и т.д.) После создания режима его можно использовать в качестве входных данных для задач сетевого анализа для управления поведением.
Чтобы использовать в сетевом анализе режим передвижения, можно создать объект TravelMode и изменить при необходимости его свойства.
Функцию GetTravelModes можно применять для доступа к существующим объектам TravelMode сетевого источника данных. Можно использовать один из следующих объектов TravelMode в качестве шаблона при создании нового объекта TravelMode.
Внимание:
Хотя существует возможность изменения объектов TravelMode, получаемых из функции GetTravelModes, это не рекомендуется. Изменения этих объектов TravelMode нельзя сохранять в источник сетевых данных, и вы можете столкнуться с проблемами именования, если используете в анализе измененный объект TravelMode. Рекомендуется всегда создавать новый режим передвижения на основе существующего и изменять свойства этого нового режима передвижения.
Синтаксис
TravelMode ({template_travel_mode})
Параметр | Описание | Тип данных |
template_travel_mode | Существующий объект TravelMode для использования в качестве шаблона для создаваемого объекта. Будет создан новый объект TravelMode с такими же свойствами, как и объект шаблона, но его свойство name будет изменено, и к имени будут добавлены треугольные скобки, поскольку новый режим движения является копией. Например, если шаблон режима передвижения был назван Driving Time, новый будет называться <Driving Time>. Если шаблон не был задан либо используется значение None, будет создан пустой объект TravelMode, а значения всех свойств перед использованием режима передвижения в сетевом анализе должны быть явно заданы. | Object |
Свойства
Свойство | Описание | Тип данных |
attributeParameters (чтение и запись) | Выводит список параметров с атрибутами, которые используются в режиме передвижения. Это свойство ‑ словарь. Ключом в словаре является кортеж двух значений – имени атрибута и имени параметра. Значение каждого элемента в словаре является значением параметра. Пустой словарь означает, что режим передвижения использует текущие параметры набора сетевых данных, заданные в качестве параметров по умолчанию. Параметризованные сетевые атрибуты используются для моделирования некоторого динамического аспекта значения атрибута. Например, туннель с ограничением высоты 12 футов может быть смоделирован с использованием параметра. В качестве значения параметра атрибутов можно указать высоту транспортного средства в футах. Если транспортное средство выше 12 футов (3,7 м), то это ограничение будет оценено как True, ограничивающее, таким образом, проезд по туннелю. Подобным образом у моста может быть параметр, указывающий ограничение по весу. Более подробно о параметрах атрибутов. | Dictionary |
description (чтение и запись) | Краткое описание режима передвижения. | String |
distanceAttributeName (чтение и запись) | Показывает атрибут стоимости на основе расстояния для путевых листов и для решения задачи выбора маршрута транспорта. Даже у режимов передвижения, которые моделируют время в пути на автомобиле и время пешком, атрибут distanceAttributeName получит значение атрибута стоимости на основе расстояния, например, Meters. | String |
impedance (чтение и запись) | Сетевой атрибут стоимости используется в качестве импеданса. Пока происходит вычисление решений для слоев сетевого анализа, атрибут стоимости минимизируется. Режим передвижения, моделирующий время в пути легкового автомобиля, будет показывать атрибут стоимости, который содержит время, необходимое автомобилю, чтобы пройти ребро или участок (отрезок) улицы. В отличие от режима автомобилей, режим передвижения пешком будет иметь атрибут стоимости, который вычисляет время, необходимое, чтобы пройти пешком вдоль ребер или улиц. Атрибут стоимости на основе расстояния, в частности – Meters, может быть задан как для режима передвижения Время в пути легкового автомобиля, так и для Время в пути пешком. Более подробно про атрибуты стоимости. | String |
name (чтение и запись) | Уникальное имя режима передвижения. | String |
restrictions (чтение и запись) | Список атрибутов ограничений, используемых при расчете задач сетевого анализа с этим режимом передвижения. Пустой список, [], означает, что в ходе анализа не применяются никакие атрибуты ограничения. Ограничения позволят предотвратить прохождение по дорогам с определенными характеристиками. Более подробно об атрибутах ограничений. | String |
simplificationTolerance (чтение и запись) | Показывает, генерализирует ли (обобщает ли) режим передвижения геометрию результатов анализа и насколько. Используется синтаксис "<value> <units>", например, "10 Meters". None означает, что геометрия упрощаться не будет. Чем выше значения упрощения, тем меньше требования к ширине полосы пропускания и время отображения, но выходные линейные и полигональные объекты при этом получаются не такими четкими, в особенности, когда вы приближаете карту. Выходные маршруты для режимов передвижения пешком не упрощаются, как правило, так сильно, как режимы для автомобилей. Пешеходные маршруты отображаются в более крупных масштабах карты, поскольку они более требовательны к деталям. | String |
timeAttributeName (чтение и запись) | Показывает атрибут стоимости на основе времени для путевых листов. Значения для impedance и timeAttributeName в основном такие же, как и при моделировании режимов передвижения на основе времени. При моделировании режимов передвижения, основывающихся на расстоянии, значение timeAttributeName должно описывать, какой период времени понадобится для перемещения вдоль ребер сети, даже если минимизируется расстояние, а не время. В режиме передвижения Расстояние пешком, например, атрибут timeAttributeName должен быть задан как атрибут стоимости, содержащий время ходьбы пешком. | String |
type (чтение и запись) | Обозначает категорию поездки или средство передвижения для данного режим передвижения. Список возможных значений следующий:
| String |
useHierarchy (чтение и запись) | Показывает, использует ли данный режим передвижения атрибут иерархии при выполнении анализа. Список возможных значений следующий:
| String |
uTurns (чтение и запись) | Указывает, как развороты на соединениях, которые могут возникать в ходе прохода по сети, рассматриваются механизмом расчета. Список возможных значений следующий:
| String |
Пример кода
В этом примере показана печать свойств из объекта TravelMode.
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("")
В примере показано, как нужно обновлять свойства TravelMode и использовать обновленный режим передвижения при осуществлении анализа.
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)