Доступно с лицензией Spatial Analyst.
Инструменты путевого расстояния используют такой же алгоритм для вычисления выходных данных. Основное различие определяется по первичным выходным данным каждого инструмента.
Инструмент Путевое расстояние (Path Distance) – это в первую очередь инструмент для анализа стоимостного расстояния, учитывающий горизонтальный и вертикальный факторы стоимости, а также истинное расстояние по поверхности. Инструмент Распределение по путевому расстоянию (Path Distance Allocation) использует тот же алгоритм, но в качестве первичных выходных данных выдает растр, обозначающий ближайший источник для каждой ячейки в каждом местоположении. Инструмент Путевое направление (Path Distance Back Link) определяет направление следующей ячейки на пути с наименьшей суммарной стоимостью до ближайшего источника.
Вычисление путевого расстояния
Инструменты путевого расстояния создают выходной растр, в котором каждой ячейке присваивается суммарная стоимость перемещения из источника по пути с наименьшей стоимостью. Алгоритм использует представление ячеек по принципу «узел/связь». При этом представлении центр ячейки считается узлом, а каждый узел соединен связями со смежными узлами.
Каждой связи поставлено в соответствие сопротивление перемещению. Сопротивление определяется, исходя из стоимости, присвоенной ячейкам на каждом конце связи (стоимость берется с поверхности стоимости), и направления движения.
В целях упрощения обсуждения, формулы в следующем разделе определяют, как стоимость перемещения суммируется между ячейками на стоимостной поверхности; как изменение стоимости будет влиять на поверхностное расстояние и горизонтальных и вертикальных факторов будет описано в соответствующем подразделе.
Стоимости перемещения узлов
Стоимость перемещения между двумя смежными узлами зависит от пространственной ориентации узлов. То, как связаны ячейки, также воздействует на стоимость перемещения.
Стоимость смежных узлов
При перемещении из ячейки в одну из четырех соседних ячеек, имеющих с ячейкой общее ребро, стоимость движения по этим связям в соседний узел будет равна среднему из стоимости перемещения через ячейки 1 и 2:
a1 = (cost1 + cost2) / 2
- , где:
cost1 – стоимость перемещения через ячейку 1.
cost2 – стоимость перемещения через ячейку 2.
a1 – стоимость, присвоенная связи из ячейки 1 до ячейки 2.
Накопление перпендикулярной стоимости
Суммарная стоимость определяется по следующей формуле:
accum_cost = a1 + (cost2 + cost3) / 2
- , где:
cost2 – стоимость перемещения через ячейку 2.
cost3 – стоимость перемещения через ячейку 3.
accum_cost – суммарная стоимость перемещения в ячейку 3 из ячейки 1.
На рисунке ниже a2 – это стоимость перемещения из ячейки 2 в ячейку 3.
Стоимость диагонального узла
Если передвижение происходит по диагонали, стоимость перемещения связи – 1,414214 (квадратный корень из 2), умноженное на стоимость перемещения через ячейку 1 плюс стоимость перемещения через ячейку 2, деленные на 2:
a1 = 1.414214(cost1 + cost2) / 2
При определении совокупной стоимости для диагонального перемещения используется следующая формула:
accum_cost = a1 +1.414214(cost2 + cost3) / 2
Список ячеек с накоплением стоимости
Создание растра расстояния с суммарной стоимостью с помощью теории диаграмм может рассматриваться как попытка идентифицировать ячейку с наименьшей стоимостью и добавить ее в выходной список. Это интерактивный процесс, который начинается с исходных ячеек. Цель каждой ячейки – быть быстро присвоенной выходному растру стоимостного расстояния.
Сравнение путевого и стоимостного расстояний
Обработка в путевом расстоянии аналогична обработке стоимостного расстояния (см. Как работают инструменты стоимостного расстояния). Сначала определяются исходные ячейки. Затем определяется стоимость перемещения до каждой соседней ячейки, смежной с исходной. Затем все соседние ячейки перечислены от ячейки с наименьшей стоимостью до ячейки с наибольшей стоимостью. Ячейка с наименьшей стоимостью удаляется из списка. В итоге, определяется минимальная суммарная стоимость до каждого соседа ячейки, которая была удалена из списка.
Процесс продолжается, пока всем ячейкам растра не будет присвоена суммарная стоимость. Разница между инструментами стоимостного и путевого расстояния состоит в том, как вычисляется стоимость перемещения из одной ячейки до следующей.
Формула путевого расстояния
С точки зрения ячейки, цель инструментов путевого расстояния – определение для каждой ячейки в экстенте анализа маршрута с наименьшей стоимостью, который нужно преодолеть для достижения этой ячейки из источника, расположенного к ней ближе всего в терминах стоимости. Для каждой ячейки необходимо установить путь с наименьшими суммарными затратами на перемещение из источника, источник, до которого дешевле всего добраться, и определить сам оптимальный, с точки зрения стоимости, маршрут.
Путевое расстояние
Стоимость перемещения между ячейками на стоимостной поверхности определяется приведенными выше формулами. Инструмент Путевое расстояние (Path Distance) (указанный как Cost_Surface в приведенных ниже формулах), может быть изменен расстоянием по поверхности (Surface_distance), а также горизонтальным и вертикальным факторами. Формула, используемая для вычисления общей стоимости перемещения из ячейки a в ячейку b, зависит от того, является ли перемещение перпендикулярным или диагональным:
- Перпендикулярное:
Cost_distance = (((Cost_Surface(a) * Horizontal_factor(a)) + (Cost_surface(b) * Horizontal_factor(b)))/2) * Surface_distance(ab) * Vertical_factor(ab)
- Диагональное:
Cost_distance = (((Cost_Surface(a) * Horizontal_factor(a)) + (Cost_surface(b) * Horizontal_factor(b)))/2) * 1.414214 * Surface_distance(ab) * Vertical_factor(ab)
Обратите внимание, что деление трения сегментов на 2 откладывается, пока не будет интегрирован горизонтальный фактор.
Если стоимостная поверхность не задана, то будет использована стоимость в 1 на единицу измерения расстояния (аналогично применению стоимостного растра со всеми значениями, равными 1). Как горизонтальный, так и вертикальный факторы применяются к расчету на единицу расстояния. Отрицательный горизонтальный и вертикальный факторы запрещены. Однако, поскольку оба фактора являются множителями для суммируемой стоимости каждой ячейки, фактор со значением меньше 1, но больше 0, уменьшает общую стоимость этой ячейки. Вертикальный фактор, равный нулю, или нули в обоих сегментах горизонтальных факторов, приводят к нулевой стоимости ячейки.
Расстояние с суммарной стоимостью
Суммарная стоимость перемещения из ячейки a в ячейку c с прохождением через ячейку b вычисляется следующим образом:
Accum_cost_distance = a1 + (((Cost_Surface(b) * Horizontal_factor(b)) + (Cost_surface(c)
* Horizontal_factor(c)))/2) * Surface_distance(bc) * Vertical_factor(bc)
- , где:
a1 – общая стоимость перемещения из ячейки a до ячейки b.
Горизонтальный и вертикальный параметры
Есть несколько разных типов параметров, которые вы можете использовать для контроля факторов горизонтального и вертикального трения. Для каждого из этих факторов есть различные модификаторы, которые могут использоваться для дальнейшего контроля анализа.
Чтобы узнать больше об этих параметрах, перейдите к следующему разделу: