Значения сетевых атрибутов иногда учитывают переменные условия. Например, высота транспортного средства позволяет определить, является ли сегмент дороги с тоннелем проходимым для этого транспорта или нет. Текущие погодные условия могут снизить скорость движения и, таким образом, повлиять на временные затраты по сети. Доступно два способа, с помощью которых можно смоделировать ограничения в зависимости от высоты транспортного средства; затраты на поездку с учетом коэффициентов масштабирования, а также других переменных экспозиций сетевого анализа. Первый способ – создать атрибут сети для каждого варианта высоты или погодных условий. Но такой подход неудобен из-за большого количества комбинаций. Более удобно использовать один сетевой атрибут с параметром, содержащим переменную экспозицию атрибута.
Параметры представляют собой заполнители для значений, которые можно изменять для отдельного анализа. Каждый из них содержит значимое значение по умолчанию, которое при необходимости переопределяется пользователем. Параметры добавляются к атрибутам сети и учитываются в оценках атрибутов. Значения параметров можно изменить при определении неполадок в сети для того, чтобы значения атрибутов сети можно было определить во время выполнения с помощью выражения и текущего значения параметра.
Принципы действия сетевых атрибутов с параметрами
Параметризованный атрибут сети содержит один или несколько вычислителей, которые использует параметр на атрибуте сети, а также и другой атрибут сети для определения его значения.
Некоторые значения вычислителя кэшируются при построении сети (например, скрипт Поле) и не используют параметры. Оценки, значения которых определяются в ходе выполнения на основе поступающих к ним запросов (например, Function и Element Script), могут использовать параметры, которые оказывают влияние на итоговое значение.
Параметры для моделирования характеристик транспортного средства
В следующем примере вы можете добавить параметры для того, чтобы задать характеристики транспортного средства с целью уточнить, через какие элементы сети может пройти данное транспортное средство.
Например, можно добавить атрибут ограничения с параметром высоты транспортного средства для сравнения высоты машины с атрибутом дескриптора, определяющего зазор под эстакадами или в туннелях. Если высота транспортного средства больше, чем зазор, ребро будет запрещено. Это может привести к выбору различных маршрутов для различных транспортных средств: как показано ниже, транспортное средство малой высоты может проехать по прямому маршруту под низким мостом, а транспорт большой высоты должен выбирать другой маршрут, в котором нет низких мостов и тоннелей.
В таком сценарии необходимо создать два атрибута: атрибут признака и атрибут ограничения и присвоить им имена MaxHeight и HeightRestriction, соответственно. Атрибут MaxHeigh вытянет значения зазора из исходных данных. Атрибут HeightRestriction считает значения из MaxHeight и сравнит их с параметром текущей высоты транспортного средства. На графике внизу представлена обобщенная версия этого процесса.
Параметры по атрибутам стоимости
Вместо этого можно использовать атрибут стоимости в виде параметра, который может ссылаться на другой атрибут стоимости и масштабировать его. Это полезно, когда в вашей области нормальному потоку движения препятствует ненастная погода, например, гололед, туман или сильный дождь. При наличии параметра в атрибуте стоимости можно корректировать ожидаемое время в пути в зависимости от изменяющейся скорости трафика.
Можно создать два сетевых атрибута: DriveTime, в котором хранятся стандартные значения импеданса времени в пути со значениями, поступившими из полей в исходных данных; и DriveTime_scaled, который масштабирует значение атрибута DriveTime с помощью параметра атрибута DriveTime_scaled, содержащего коэффициент текущего масштаба.