Барьеры (Barriers)
Барьеры — это классы пространственных объектов в слоях сетевого анализа, которые ограничивают или изменяют стоимость перемещения по ребрам и соединениям связанного набора сетевых данных. Барьеры делятся на три типа геометрии (точка, линия и полигон) и предназначены для моделирования временных изменений в сети. Различные типы барьеров представлены ниже:
- Ограничивающий точечный барьер может моделировать упавшее дерево, аварию, оборванную линию электропередач или что-нибудь, что полностью блокирует трафик в определенном месте сети. Для точечных барьеров, расположенных на ребрах, перемещение может быть разрешено на ребре, но не через барьер. Дополнительно, перемещение может быть запрещено на каждом ребре, на котором расположен ограничивающий точечный барьер.
- Точечный барьер дополнительной стоимости разрешает путь через барьер, но его пересечение требует добавления указанной вами стоимости, например, одной минуты. Точечные барьеры дополнительной стоимости могут использоваться для моделирования задержки, вызванной автомобильной аварией, или дополнительного времени, которое требуется грузовику, перевозящему опасные материалы, для остановки на железнодорожном переезде.
- Ограничивающий линейный барьер запрещает передвижение там, где барьер пересекает сеть. Например, демонстрацию или митинг, которые блокируют движение через несколько сегментов улиц, можно смоделировать с помощью ограничивающего линейного барьера. Этим типом барьера можно быстро перекрыть несколько дорог от проезда, перенаправляя таким образом результирующий маршрут в сторону от нежелательных участков сети.
- Линейный барьер масштабированной стоимости не ограничивает передвижения на ребрах и соединениях, которые он покрывает, но масштабирует стоимость их пересечения при помощи заданного коэффициента. Назначение коэффициента 0,5 означает, что ожидаемое время пути будет в два раза меньше нормального. Коэффициент 2,0 означает, что ожидаемый путь будет в два раза дольше обычного. Может потребоваться увеличить время передвижения с помощью линейного барьера масштабированной стоимости, когда на участке шоссе движение временно замедленно из-за ремонта.
- Ограничивающий полигональный барьер запрещает передвижение там, где полигон пересекает сеть. Одним из применений этого типа барьера является моделирование затоплений, покрывающих области сети и исключающих возможность перемещения в них по дорогам.
- Полигональный барьер масштабированной стоимости не ограничивает перемещения по ребрам и соединениям, которые он покрывает, но он масштабирует стоимость их пересечения с помощью коэффициента, например 0,25, который будет означать, что ожидаемый путь в четыре раза быстрее нормального. Коэффициент 3,0 означает, что ожидаемый путь будет в три раза дольше обычного. Этот тип барьера можно использовать для моделирования ураганов, которые снижают скорость передвижения в определенных регионах.
Барьеры являются частью слоев сетевого анализа, а не набора сетевых данных. Поэтому, барьеры оказывают влияние только на слой сетевого анализа, который их содержит. Если барьеры необходимы в других анализах, их можно загрузить в соответствующий слой сетевого анализа. В качестве альтернативы можно изменить набор сетевых данных, чтобы не использовать барьеры.
Все виды изменений, которые барьеры вносят в возможность перемещения или стоимости перемещения сети, могут быть также выполнены посредством редактирования набора сетевых данных. Но барьеры помогают добавить и удалить изменения сети оперативно, что идеально подходит для моделирования временных изменений стоимости перемещения по сети: дерево, блокирующее трафик, будет со временем удалено, и наводнение, в конце концов, отступит. После окончания события, которое моделирует барьер, его можно просто удалить.
Так как барьеры могут функционировать в качестве альтернативы редактирования, можно внести изменения возможности пересечения и стоимости перемещения по сети, даже не имея прав доступа для редактирования. Например, если у вас есть недоступный для редактирования набор сетевых данных SDC, например, StreetMap North America, и вы считаете, что значения стоимости перемещения по сети неточно отражают время пути в данной области, вы можете добавить полигональный барьер и масштабировать стоимость перемещения по сети до более подходящих значений. Однако, учтите, что быстродействие механизма расчета снижается при использовании барьеров.
Время создания или загрузки линейного или полигонального барьера пропорционально числу сетевых элементов, которые он покрывает. Использование барьеров для покрытия плотных или больших областей сети может оказаться неподходящим.
Точечные, линейные и полигональные барьеры
Классы барьеров присутствуют во всех слоях сетевого анализа.
Барьеры можно добавить в классы барьеров посредством инструмента Создать сетевое положение (Create Network Location Tool) на панели инструментов Network Analyst диалогового окна Загрузить положения (Load Locations) или с помощью инструмента геообработки Добавить положения (Add Locations). Когда барьеры созданы, загружены или добавлены, они влияют только на элементы, выбранные на закладке Сетевые положения (Network Locations) диалогового окна Свойства слоя (Layer Properties) для слоя сетевого анализа. Это также относится к тем случаям, когда барьер пересекает слои, которые не отмечены на закладке Сетевые положения (Network Locations).
Барьеры имеют атрибуты, которые можно просматривать и изменять в таблице атрибутов, где перечислены все барьеры и их атрибуты в этом классе барьеров, или же в таблице Свойства (Properties) соответствующего барьера, где одновременно отображается только один барьер со своими атрибутами.
Более подробная информация об открытии окна Свойства (Properties) объектов сетевого анализа
...как слой пространственных объектов Точечные барьеры (Point Barriers)
При загрузке или создании точечного барьера он замыкается на ближайшее ребро или соединение сети в рамках допуска поиска. Положение барьера в сети задается полями сетевого положения (SourceID, SourceOID, SideOfEdge, PosAlong). Когда ограничивающий точечный барьер находится на ребре, можно по выбору ограничить передвижение только через точечный барьер или ограничить ребро полностью. Точечный барьер масштабированной стоимости добавляет стоимость при каждом его пересечении.
Свойства точечного барьера
Входное поле |
Описание |
---|---|
ObjectID |
Управляемое системой поле ID. |
Name |
Имя объекта сетевого анализа. |
BarrierType |
Указывает, ограничивает ли точечный барьер путь полностью или добавляет стоимость перемещения по ребру при его пересечении. Существует две опции:
|
FullEdge |
Это свойство имеют только ограничивающие точечные барьеры на элементах ребер. Значением по умолчанию является False.
|
Attr_[ТипСтоимости] (например, Attr_Minutes, где Minutes — это стоимость перемещения по сети в минутах) |
Это свойство относится только к барьерам добавленной стоимости, и оно ограничено положительными значениями. Оно указывает, какой величины стоимость перемещения по сети добавляется при пересечении барьера. |
Поля сетевого положения
|
Вместе эти четыре свойства описывают точку сети, в которой расположен объект. |
CurbApproach |
Свойство CurbApproach указывает направление движения, на которое влияет барьер. Если барьер находится на ребре, и его свойство ограждающего подхода имеет значение
Так как соединения являются точками и не имеют сторон, барьеры на соединениях влияют на все транспортные средства, независимо от значения свойства CurbApproach. |
Входные/выходные поля |
Описание |
---|---|
Status |
Данное поле ограничивается с помощью домена значений, которые указаны ниже (их кодированные значения указаны в скобках).
После выполнения операции расчета статус может быть изменен с помощью одного из следующих значений статуса:
|
Слой пространственных объектов Линейные барьеры (Line Barriers)
Тогда как точечные барьеры замыкаются на ближайшее ребро или соединение, линейные барьеры не замыкаются на сеть. Поэтому, они должны перекрывать ребра и соединения, чтобы влиять на них.
Если назначением линейного барьера является разрезание элементов сети и блокирование пути там, где барьеры пересекают ребра и соединения, то инструмент Создать сетевое положение (Create Network Location Tool) обычно достаточен для достижения этой цели. Если же назначение состоит в том, чтобы ограничить участок вдоль ребра, в сеансе редактирования должен быть создан линейный объект и загружен в класс линейных барьеров. Такой инструмент редактирования, как Трассировка (Trace) предоставляет больше возможностей, чем инструмент Создать сетевое положение (Create Network Location), и обеспечивает совпадение линейного барьера с объектами источника сети.
Свойства линейного барьера
Входное поле |
Описание |
---|---|
ObjectID |
Управляемое системой поле ID. |
Name |
Имя объекта сетевого анализа. |
BarrierType |
Указывает, ограничивает ли барьер перемещение полностью или масштабирует стоимость прохождения через него. Существует две опции:
|
Attr_[Impedance] (например, Attr_Minutes, где Minutes – это импеданс для сети) |
Это свойство является специфичным для барьеров с масштабированной стоимостью. Это коэффициент, на который умножается импеданс ребер, находящихся под барьером. Значения должны быть равны нулю или больше нуля; при этом обратите внимание, что, если задать нулевое значение, то решение, скорее всего, вернет бессмысленный результат, так как стоимости нижних ребер становятся свободными для прохождения. Таким образом, рекомендуется использовать значение больше нуля. |
Класс объектов полигональных барьеров
Полигональные барьеры подобны линейным барьерам в том, что они не замыкаются на сеть. Поэтому, линейные барьеры должны перекрывать ребра и соединения, чтобы как-то влиять на них.
Свойства полигонального барьера
Свойства полигональных барьеров идентичны свойствам линейных барьеров.
Входное поле |
Описание |
---|---|
ObjectID |
Управляемое системой поле ID. |
Name |
Имя объекта сетевого анализа. |
BarrierType |
Указывает, ограничивает ли барьер перемещение полностью или масштабирует стоимость прохождения через него. Существует две опции:
|
Attr_[Impedance] (например, Attr_Minutes, где Minutes – это импеданс для сети) |
Это свойство является специфичным для барьеров с масштабированной стоимостью. Это коэффициент, на который умножается импеданс ребер, находящихся под барьером. Значения должны быть равны нулю или больше нуля; при этом обратите внимание, что, если задать нулевое значение, то решение, скорее всего, вернет бессмысленный результат, так как стоимости нижних ребер становятся свободными для прохождения. Таким образом, рекомендуется использовать значение больше нуля. |
Приоритет перекрывающихся барьеров
Когда два или более барьера перекрывают друг друга, Дополнительный модуль ArcGIS Network Analyst следует набору правил, гарантирующих совместимость поведения и результатов:
- Ограничивающие барьеры имеют старшинство над барьерами добавленной или масштабированной стоимости.
- Если одновременно используется два или более барьера добавленной стоимости, их значения Attr_[ТипСтоимости] добавляются вместе к каждому типу стоимости перемещения по сети.
- Если два или более барьера масштабированной стоимости перекрываются, их значения Attr_[ТипСтоимости] перемножаются между собой для каждого типа стоимости перемещения по сети, и умножаются на значение соответствующей стоимости перемещения по покрытого участка ребра.
- Если перекрываются барьеры масштабированной стоимости и добавленной стоимости, то сначала барьеры масштабированной стоимости умножаются на стоимость прохождения соответствующего ребра, а затем полученное произведение добавляется к соответствующим значениям Attr_[ТипСтоимости] барьеров добавленной стоимости.
Методы создания барьеров
В этом разделе описаны некоторые варианты создания барьеров, их некоторые преимущества и недостатки. Это нужно для того, чтобы помочь вам понять разницу указанных подходов и выбрать наиболее подходящий из них.
Точечные барьеры связаны только с одним элементом сети, даже если элемент совпадает с другим элементом. Линейные и полигональные барьеры влияют по умолчанию на все элементы сети, которые они покрывают. Могут возникнуть неожиданные последствия, если какой-то из элементов сети под линейным или полигональным барьером останется незамеченным. Например, если дорога на эстакаде ремонтируется, и ограничивающий линейный барьер добавлен вдоль эстакады, то будет ограничена как сама эстакада, так и дорога под ней. Это происходит из-за того, что линейный барьер касается обеих дорог в двумерном пространстве. Нужно внимательно отнестись к процессу создания барьеров.
Здесь приведены некоторые другие методы, которые можно использовать в описанном выше случае с эстакадой, когда нужно блокировать эстакаду, не блокируя дорогу под ней:
-
Использовать точечный барьер. Линейный барьер на эстакаде может быть заменен точечным барьером с помощью установки для свойства FullEdge значения true. Свойство FullEdge гарантирует ограничение всего ребра, так как точечный барьер ограничивает только то ребро, на котором он расположен.
Заметьте, что точечные барьеры для всего ребра нельзя настроить так, чтобы они влияли только на отдельный участок ребра. Таким образом, теряется некоторая точность по сравнению с линейными барьерами, которые могут покрывать и влиять на отдельные участки. Кроме того, отображение точечного барьера в ArcMap может ввести в заблуждение, так как барьер показывается в виде точки, но фактически ограничивается все ребро.
-
Использование среды редактирования. Для обеспечения верного совпадения линейного барьера с ребром, как в случае с эстакадой, может быть создан линейный объект в среде редактирования, так что исходный объект для ребра можно будет отследить. Новый совпадающий линейный объект можно затем загрузить в класс линейных барьеров.
Для того чтобы избежать проблем, связанных с ограничением дороги под эстакадой, можно выполнить более точное редактирование. Например, можно создать один линейный объект вдоль эстакады, поместить в буфер дорогу внизу, а затем вырезать область, помещенную в буфер. Это оставит две линии на каждой стороне дороги, которые можно загрузить в класс линейных барьеров. Другой возможностью является просто отследить два ребра, по одному на каждой стороне дороги снизу. Это требует немного больше усилий, но отображение влияния, которое барьеры оказывают на сеть, при этом яснее, так как задействованные элементы покрываются линейным барьером.
-
Использование конструктора запросов. Перед загрузкой или созданием барьеров можно записать запрос с помощью SQL, чтобы сообщить Network Analyst, на какие элементы барьер должен влиять. После загрузки барьеры могут касаться некоторых элементов сети, не влияя на них.
Доступ к конструктору запросов можно получить, открыв диалоговое окно Свойства слоя (Layer Properties) правым щелчком мыши на элементе сети на панели Поиск положений в сети (Finding Network Locations) и выбрав команду Построить запрос (Build Query). На следующем рисунке показан запрос, который был определен перед загрузкой линейного барьера. При загрузке барьера он ссылается на запрос для выбора элементов, которые он должен блокировать.
Визуализация барьеров, добавленных с помощью конструктора запросов, может ввести в заблуждение, так как ребра и соединения могут быть покрыты барьерами, функционируя при этом нормально. Например, на приведенном выше рисунке даже хотя ограничивающий линейный барьер пересекает ребра с ObjectID от 43 до 38, по ним можно проехать, как показано с помощью маршрута справа.
Другие методы создания линейных барьеров могут оказаться полезны также в других случаях. Несколько примеров:
- Загрузка выбранных объектов. Выберите объекты, например, улицы, и загрузите выбранные улицы в класс барьеров. Это гарантирует совпадение линейных барьеров с улицами.
- Загрузка маршрута из другого слоя сетевого анализа. Создайте маршрут в другом слое сетевого анализа, а затем загрузите его обратно в первоначальный слой анализа в качестве линейного барьера. Этот метод гарантирует совпадение линейного барьера с улицами, и вместо покрытия только целых ребер он обеспечивает возможность частичного покрытия ребер линейными барьерами.