Использование параметров с атрибутами сети

Значения атрибутов сети иногда зависят от переменных условий. Например, высота транспортного средства может определять проходимость участка дороги с низкой эстакадой. Погодные условия могут снизить скорость хода и, таким образом, повлиять на стоимость времени сети. Можно смоделировать ограничения на основании высоты транспортного средства, стоимость перемещения – на основании коэффициентов масштаба и другие переменные аспекты анализа сети с помощью одного из двух подходов. Первый способ – создать атрибут сети для каждого варианта высоты или погодных условий. Но такой подход неудобен из-за большого количества комбинаций. Более универсальный подход – использование одного атрибута сети с параметром, который содержит переменный аспект атрибута.

Параметры – это прототипы значений, которые можно изменить для выполнения определенного анализа. Каждый из них имеет подходящее значение по умолчанию, которое замещается пользователем при необходимости. В ArcCatalog параметры добавлены к атрибутам сети и рассматриваются вычислителями атрибутов. Значения параметров можно изменить в ArcMap при установке неполадок в сети для того, чтобы значения атрибутов сети можно было определить во время выполнения с помощью выражения и текущего значения параметра.

Способ параметризации работы атрибутов сети

Параметризованный атрибут сети содержит вычислитель, который использует параметр для атрибута сети, также как и другой атрибут сети для определения его значения.

Поскольку значения параметров могут измениться во время работы, значения атрибутов сети не записываются в базу данных. Эти значения рассчитываются по запросу. Следовательно, набор сетевых данных не перестраивается при изменении значения параметра.

Параметры по атрибутам ограничений

Параметр «Использование ограничения» (Restriction Usage) по умолчанию

Только один параметр автоматически добавляется к любому созданному атрибуту ограничения: Использование ограничения (Restriction Usage). Он указывает на случаи, когда перемещения по элементам, использующим это ограничение, запрещается, предупреждается или предпочитается. При предупреждении или предпочтении элемента необходимо указать степень этого действия. Обычно, параметру «Использование ограничения» назначается одно из следующих значений (числовое значение в скобках описано в разделе после списка):

  • Запрещать (Prohibit) – (-1) Прохождение соответствующих элементов сети полностью запрещено. Это наиболее часто используемое ограничение.
  • Избегать: Высокий – (Avoid: High)(5) Очень маловероятно, что при расчете используются сетевые элементы, связанные с этим ограничением.
  • Избегать: Средний – (Avoid: Medium)(2) Маловероятно, что при расчете используются сетевые элементы, связанные с этим ограничением.
  • Избегать: Низкий – (Avoid: Low)(1,3) Достаточно маловероятно, что при расчете используются сетевые элементы, связанные с этим ограничением.
  • Предпочесть: Низкий – (Prefer: Low)(0,8) Достаточно вероятно, что при расчете используются сетевые элементы, связанные с этим ограничением.
  • Предпочесть: Средний – (Prefer: Medium)(0,5) Вероятно, что при расчете используются сетевые элементы, связанные с этим ограничением.
  • Предпочесть: Высокий – (Prefer: High)(0,2) Весьма вероятно, что при расчете используются сетевые элементы, связанные с этим ограничением.
Более подробноБолее подробно:

Каждый из этих семи текстовых значений, по сути, представлен фиксированным числовым значением, показанным в круглых скобках в приведенном выше списке. Имеющихся текстовых значений и их соответствующих числовых значений достаточно практически всем пользователям. Тем не менее, при необходимости точно отрегулировать степень, с которой элемент будет запрещен или предпочтен, можно ввести собственное числовое значение.

Чтобы понять степень необходимости ввода пользовательского значения, нужно уяснить, какое влияние оказывают эти значения на решатель. В целом, стоимость элементов с ограничениями умножается на эти числовые значения для увеличения или уменьшения стоимости, которая в свою очередь делает элементы более или менее выгодными при проведении анализа. Предпочтительные элементы, к примеру, умножаются на значение параметра больше 0 и меньше 1 для уменьшения их стоимости, так что решатель с наибольшей вероятностью включит эти элементы в результаты. Значение Предпочитать: высокая степень близко к 0, а значение Предпочитать (Prefer) низкая степень близко к 1. (Обратите внимание, что нельзя ввести значение 0, так как это приведет к ошибке во время решения.) Для элементов, которых следует избегать, числовое значение параметра «Использование ограничения» устанавливается больше 1, так как умножение на эту величину повышает стоимость. Для запрета элемента числовое значение параметра Использование ограничения (Restriction Usage) устанавливается на -1. Проще говоря, можно подумать, что Network Analyst воспримет отрицательную стоимость как непроходимую, но, на самом деле внутренний процесс более сложен.

Имейте в виду, что решатель использует дифференцированные стоимости временно. Они не включены в выходные данные анализа или в пошаговые инструкции.

Для ввода настраиваемого значения просто замените текстовые значения (Ограничено, Предпочесть:Высокий и пр.) на числовые. При вводе числового значения, совпадающего с одним из используемых текстовых значений, на экран будет выведено это текстовое значение.

Прежние версииПрежние версии:

При использовании набора сетевых данных из версии до ArcGIS 10.1 параметр «Использование ограничения» не будет представлен ни в одном из атрибутов ограничений. В этом случае ограничения запретит элементы сети. Обновите набор сетевых данных, чтобы иметь возможность изменять ограничения для предупреждения или предпочтения элементов.

Параметры для моделирования характеристик транспортного средства

Network Analyst обязательно добавляет параметр по умолчанию «Использование ограничения» (Restriction Usage) к каждому атрибуту ограничения. Также можно добавить параметры для установки характеристик транспортного средства для уточнения сетевых элементов, которые может проходить данное средство.

Например, можно добавить атрибут ограничения вместе с параметров высоты транспортного средства для сравнения высоты машины с атрибутом дескриптора, определяющего зазор под эстакадами или туннелями. Если высота транспортного средства больше, чем зазор, ребро будет запрещено. Это приведет к различным маршрутам для разных транспортных средств: как показано ниже, низкое транспортное средство может пройти под низким мостом, а высокое средство пойдет по другому маршруту, чтобы избежать прохождения под мостами с малым зазором.

ПримечаниеПримечание:

В большинстве случаев, параметр «Использование ограничения» (Restriction Usage) установлен в значение «Запретить» (Prohibit), когда атрибут ограничения зависит от характеристики транспорта. Соответственно, в этом подразделе предполагается, что атрибут ограничения запрещает элементы сети.

Пример маршрута грузовика в объезд моста с низким зазором

При таком сценарии можно создать два атрибута: атрибут дескриптора и атрибут ограничения. Назовем их соответственно MaxHeight (МаксВысота) и HeightRestriction (Ограничение по высоте). Атрибут MaxHeigh вытянет значения зазора из исходных данных. Атрибут HeightRestriction считает значения из MaxHeight и сравнит их с параметром текущей высоты транспортного средства. На графике внизу представлена обобщенная версия этого процесса.

Поиск значений для параметризированного атрибута ограничения

Параметры по атрибутам стоимости

Вместо этого можно параметризовать атрибут стоимости, который может ссылаться на другой атрибут стоимости и масштабировать его. Это полезно, когда в вашей области нормальному потоку движения препятствует ненастная погода, например, гололед, туман или сильный дождь. При наличии параметра в атрибуте стоимости можно настроить ожидания времени пути в соответствии с изменениями скорости движения.

Можно создать два атрибута сети: DriveTime – хранит обычный импеданс времени пути со значениями из полей исходных данных; DriveTime_scaled – берет значение атрибута DriveTime и масштабирует его с помощью параметра атрибута DriveTime_scaled, в котором содержится текущий масштабный коэффициент.

Установка параметризованного атрибута

После создания необходимых атрибутов сети можно установить параметризованный атрибут в два этапа:

  1. Добавить параметр к атрибуту сети.
  2. Установить вычислитель атрибута для использования параметра.

Эти действия выполняются в ArcCatalog на закладке Атрибуты (Attribute) диалогового окна Свойства набора сетевых данных (Network Dataset Properties) .

Более подробно о редактировании набора сетевых данных

Добавление параметра

Для создания параметра выполните следующие шаги. В примере ниже представлен атрибут ограничения HeightRestriction (Ограничение по высоте), но такие же процедуры выполняются и для атрибутов стоимости.

Выбор атрибута сети для добавления параметра
Установка свойств нового параметра

Новый параметр Vehicle Height (Высота транспортного средства) добавлен к атрибуту HeightRestriction (Ограничение по высоте) и ему назначено значение 0, установленное по умолчанию. Предполагается, что транспортное средство с высотой 0 подходит для любого значения зазора. Можно изменить значения параметра, установленные по умолчанию, при проведении сетевого анализа в ArcMap.

Установка вычислителя

После добавления параметра необходимо разработать вычислитель, который объединит параметр либо с постоянным, либо с каким-то другим атрибутом сети, в котором хранится информация относительно этого параметра. В примере ниже, параметризованному атрибуту ограничения HeightRestriction (Ограничение по высоте) назначен вычислитель, который сравнивает параметр Vehicle Height (Высота транспортного средства) с атрибутом дескриптора MaxHeight (МаксВысота), содержащий измерения зазора для элементов сети.

Этапы установка вычислителя для параметризованного атрибута сети
ПодсказкаПодсказка:

Так как вычислитель скрипта рассчитывает значения во время проведения анализа с помощью VBScript или среды Python, назначение такого вычислителя отрицательно влияет на производительность анализа. По возможности, Esri настоятельно рекомендует использовать вычислитель функции вместо вычислителя скрипта для лучшей производительности при проведении анализа.

Более подробно о типах анализаторов, используемых сетью

В этом примере представлен вычислитель функции. В диалоговом окне Вычислитель функции (Function Evaluators) представлено выражение, установленное для каждой улицы. Каждый раз, когда вычислитель функции возвращает значение Истина, элемент сети запрещается. Если возвращается значение False, ограничения для сетевого элемента не устанавливаются, и он может использоваться в решении.

Вычислитель функции для атрибута ограничения высоты

Для сравнения, параметризованный атрибут стоимости DriveTime_scaled установлен с вычислителем функции (приведен ниже), который использует параметр коэффициента DriveTime. Вычислитель считывает время движения из атрибута стоимости DriveTime и умножает его на значение коэффициента DriveTime, определенного во время работы.

Вычислитель функции для масштабируемого атрибута времени движения

Во время работы можно изменить параметр, установленный по умолчанию в значение 1. Значение 1,5 понизит время движения на 50% от нормального времени. У элемента сети со значением DriveTime 5 минут значение DriveTime_scaled будет равно 7,5 минут.

Перестроение набора сетевых данных

Так как вычислитель функции не хранит значения в базе данных, а рассчитывает их во время работы, нет необходимости перестраивать набор сетевых данных после добавления или изменения вычислителя функции или соответствующих параметров атрибута в ArcCatalog. Но после внесения изменений в связанный атрибут на основе вычислителя поля, необходимо перестроить набор сетевых данных для использования новых значений.

С помощью параметризованного атрибута, подготовленного в ArcCatalog, можно решать сетевые проблемы в ArcMap. При изменении значения параметра, установленного по умолчанию, нет необходимости в перестраивании сети.

Связанные темы

9/11/2013