Учет барьеров в вычислениях расстояний

Доступно с лицензией Spatial Analyst.

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

Прямой путь между туристом и хижиной

Когда на пути находится барьер, путешественник должен обойти его.

Путь туриста меняется, если между ним и хижиной находится озеро

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

Примеры использования барьеров

Барьеры могут использоваться в различных сценариях, например:

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

Настройка анализа расстояния по прямой с барьерами

Анализ расстояния можно разделить на следующие функциональные разделы:

В первой рабочей области расстояние по прямой корректируется с помощью барьеров, как показано ниже. Сценарий включает набор из четырех лесничеств (сиреневые точки) и несколько рек (синие линии).

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

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

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

Карта расстояния по прямой, уточненная для обхода рек, которые являются барьерами
Лесники не могут пересекать реки, т.е. реки действуют как барьеры. Обратите внимание, что расстояние с другой стороны барьеров увеличивается.

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

Карта расстояния по прямой из четырех лесничеств
Растр источник-направление показывает направление до ближайшего лесничества. Направления выражаются в значениях направлениях по компасу (от 0 до 360 градусов).

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

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

Создание растра расстояния с барьерами

Чтобы создать растр расстояний, содержащий барьеры, выполните следующие шаги:

  1. Откройте инструмент Накопление расстояния.
  2. Укажите источник для параметра Входные растровые или векторные данные источника.
  3. Присвойте выходному растру расстояния имя.
  4. Укажите барьер в параметре Входные растровые или векторные данные барьеров.
  5. Введите все остальные необходимые параметры.
  6. Щелкните Запустить.

Барьеры влияют на вычисление расстояний

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

Задание барьера

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

Вы можете задать барьеры и другими способами. Если предоставлен растр поверхности, поверхность затрат, растр вертикального фактора или растр горизонтального фактора, ячейки NoData в любом из этих растров считаются барьерами. Если задан параметр среды Маска, то местоположения, находящиеся за пределами области, охватываемой маской, а именно ячейки NoData, также считаются барьерами. Во всех случаях барьеры препятствуют передвижению. При необходимости все барьеры будут слегка утолщены, чтобы предотвратить появление проходов, чтобы препятствовать прохождение через этот барьер. Подробнее см. раздел Утолщение барьеров для предотвращения проходов ниже.

Подводя итог, можно отметить, что перемещение разрешено по местоположениям, имеющим допустимые значения для входного растра поверхности, растра поверхности затрат, растра вертикального фактора и растра горизонтального фактора, а также по местоположениям, которые находятся в пределах области маски, определенной в параметрах среды анализа, если они указаны. Перемещение не разрешается по местоположениям, определенным входным данным барьера, по местоположениям, находящимся за пределами области маски (ячейки NoData), или по любому местоположению, где растр поверхности, растр поверхности стоимости, растр вертикального фактора или растр горизонтального фактора имеет значение NoData.

Барьеры влияют на выходные растры расстояний

Следующие выходные растры, созданные при выполнении анализа расстояний, учитывают барьеры:

  • Растр накопления расстояния
  • Растр обратного направления
  • Растр направлений от источника

Растр накопления расстояния

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

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

Карта расстояний по прямой от линий электропередачи
Расстояние по прямой от линий электропередачи. Для каждой ячейки вычисляется расстояние по прямой до ближайшего сегмента линии электропередачи.

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

Карта расстояния по прямой, уточненная для обхода барьера
Расстояния по прямой, уточненные с учетом дополнительного расстояния, необходимого для обхода барьера.

Примечание:

Если барьер приводит к отключению каких-либо местоположений от источника, расстояние до отключенных ячеек не вычисляется.

Растры обратного направления и направления от источника

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

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

Растры обратного направления и направления от источника используют компасные значения. Диапазон значений – от 0 до 360 градусов, где значение 0 резервируется для ячеек источников. Направление на восток, вправо, это 90 градусов, значения увеличиваются по часовой стрелке, поэтому 180 – на юг, 270 – на запад и 360 – на север. Два растра показывают истинное направление, при этом растр обратного направления показывает градусы как значения с плавающей точкой, а направлений источника - как целочисленные.

Показаны различия между растрами обратного направления и направления источника, например, при вычислении расстояния пути на каяке до места назначения (Прокат каяков Jim), когда между ними находится полуостров. Полуостров становится барьером для каяка. На рисунке ниже, на растре обратного направления в каждой ячейке хранится направление, в котором должен двигаться каяк из ячейки, чтобы вернуться в пункт проката, поскольку каяк должен огибать сушу. Это направленное движение показано в репрезентативных ячейках темно-синими стрелками. В растре направления источника, в каждой ячейке хранится расстояние до пункта проката по прямой. Это направление показано светло-синими стрелками. Два направления отличаются. Темно синие стрелки показывают путь каяка вокруг полуострова, светло-синие - расстояние по прямой до пункта проката из любого места, независимо от наличия полуострова.

Карта, показывающая различия между растрами обратного направления и направления источника, когда между каяком и пунктом его назначения находится полуостров
Прокат каяков Jim находится в нижнем левом углу изображения (оранжевая точка). Берег и полигоны желтого цвета являются барьерами. Для набора ячеек показаны значения обратного направления (темно-синий) и значения направления источника (светло-синий). Желтыми полигонами показаны опасные места, которые каяк должен избегать.

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

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

Барьеры могут изменить ближайший источник или источник с наименьшей стоимостью

Когда добавляются барьеры, они могут изменить доступную ближайшую ячейку или ячейку с наименьшей стоимостью. Например, на первом рисунке ниже показаны два источника, S1 и S2. Ближайший источник к ячейке x, не являющейся источником, это источник S1.

Ячейка x находится на 180 градусах от ближайшего источника S1
В ячейке x, не являющаяся источником, ближайшая ячейка источника - это S1, а значение 180 хранится в местоположении x в выходной карте направлений.

На следующем рисунке добавлен горизонтальный барьер. Теперь ближайшим источником к ячейке x стал S2 (как показано линией серого цвета вокруг правого края барьера).

Горизонтальный барьер меняет ближайший источник с S1 на S2
С барьером (горизонтальная серая линия), ближайшей ячейкой источника к x стал S2. Направление прямо на S2 отличается от обратного направления, используемого как кратчайший путь.

В результате, наличие барьеров может изменить выходные значения ячеек в растре обратного направления. В этом примере, значение, присвоенное x в растре обратного направления без барьера, будет 180.0. С барьером, обратное направление к x будет 121.5.

Для растра направления источника, ближайшим источником к ячейке x без барьера будет S1, на юг, в направлении 180 градусов. Карта добавляется горизонтальный барьер, направление на источник, присвоенное x, составляет примерно 135 градусов (светло-синяя стрелка), что является направлением по прямой из x к источнику S2, а не направлением маршрута. В результате наличия барьера, обратное направление и направление источника от x к S2 отличаются.

Значение для x в выходном растре распределения по расстоянию меняется с S1 без барьера, на S2 с барьером.

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

  1. Если S1 был источником с наименьшей стоимостью без барьера, S2 становится источником с наименьшей стоимостью с накопленной стоимостью больше, чем значение, присвоенное S1.
  2. Если S2 был источником с наименьшей стоимостью без барьера, достижение источника S2 становится дешевле, чем S1. С барьером, S2 все еще является источником с наименьшей стоимостью, но общая накопленная стоимость увеличивается.
  3. S2 был источником с наименьшей стоимостью без барьера, но путь к S2 не проходит около барьера. С барьером, накопленная стоимость для S2 остается такой же. Барьер не оказывает никакого эффекта.

С поверхностью стоимости, растр направления источника изменится, если источник наименьшей стоимости для x изменится с S1 на S2. Однако если S2 изначально был источником наименьшей стоимости, направление источника для x останется тем же.

Расширение барьеров для предотвращения проходов

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

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

Небольшое расширение диагональных участков барьера не позволяет путешественнику пройти между ячейками
Путешественник может пройти по диагонали между углами ячеек барьера (слева). Чтобы избежать этого, диагональные участки барьеров слегка расширяются (справа).

Если входной барьер является растровым, на диагональных ячейках также происходит процесс расширения, если его толщина равна одной ячейке.

Барьеры, заданные в параметрах инструмента как набор данных, сливаются в поверхность стоимости и, при необходимости, ячейки со значениями NoData расширяются. В результате, барьеры расширяются независимо от того, что они заданы как наборы данных или их местоположениям на поверхности стоимости присвоены значения NoData, что предотвращает возможные пересечения.

Связанные разделы