Оптимальные соединения коридоров (Spatial Analyst)

Краткая информация

Вычисляет оптимальные соединения коридоров между двумя или более входными регионами.

Более подробно о соединении местоположений коридорами

Использование

  • Входные регионы могут быть растровыми или векторными данными.

  • В растровых данных регион – это группа ячеек, имеющих такое же значение, как и соседние ячейки. Если входные регионы идентифицированы растром, а какие-либо зоны (ячейки с одинаковыми значениями) состоят из нескольких регионов, сначала запустите инструмент Группировка в качестве предварительного действия для присвоения каждому региону уникальных значений. Затем используйте полученный растр в качестве входных регионов для этого инструмента.

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

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

  • При использовании данных полигонального объекта в качестве входных данных регионов следует особенно тщательно выбирать способ обработки размера выходной ячейки, если его можно охарактеризовать как грубый относительно подробных сведений во входных данных. Процесс внутренней растеризации задействует тот же Метод присвоения значений ячейкам по умолчанию, что и инструмент Полигон в растр, в котором используется Центр ячейки. Это означает, что данные, не расположенные по центру ячейки, не будут включены в промежуточные растеризованные регионы, поэтому не будут представлены в расчётах расстояния. Например, если регионы представляют собой небольшие полигоны, (такие, как контуры знаний, относительно небольшие по сравнению с размером выходной ячейки), только некоторые их них будут совпадать с центрами ячеек выходного растра, и, следовательно, большинство остальных объектов будут потеряны в анализе.

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

  • Когда вход региона является пространственным объектом, поле ObjectID будет использоваться в качестве идентификатора региона.

  • Местоположения, определенные параметром Входной растр или объекты-барьеры, местоположения ячеек с NoData в значении параметра Входной растр стоимости или местоположения, которые не находятся в пределах Маски из параметров среды, - все они действуют как барьеры.

  • Среда анализа Маска может быть настроена для объекта или набора растровых данных. Если маска является пространственным объектом, она будет преобразована в растр. Ячейки, имеющие значение, определяют местоположения, которые находятся в области маски. Ячейки NoData определяют местоположения, которые находятся за пределами области маски и будут рассматриваться как барьер.

  • Экстент обработки по умолчанию будет совпадать со значением параметра Входной растр стоимости, если задан; если нет - будет соответствовать экстенту входных регионов.

  • Значение параметра Входной растр стоимости не может содержать нулевые значения, так как алгоритм представляет собой мультипликативный процесс. Если растр стоимости содержит нулевые значения, и они представляют области наименьшей стоимости, замените нулевые значения на небольшие положительные числа (например 0,01) перед запуском инструмента.

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

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

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

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

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

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

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

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

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

  • Инструмент создает коридоры фиксированной ширины. Параметр Ширина коридора определяет фиксированную ширину коридоров как линейное расстояние. Если значение параметра Ширина коридора равно 0, выходными коридорами будут линии оптимальных путей.

  • См. раздел Параметры среды анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Параметры

ПодписьОписаниеТип данных
Входной растр или объекты регионов

Входные регионы, которые должны быть соединены оптимальными коридорами.

В качестве регионов можно задать растровый или векторный набор данных.

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

Если входные регионы представлены в виде набора объектов, это могут быть полигоны, полилинии или точки. Полигональные регионы не могут содержать составных объектов.

Raster Layer; Feature Layer
Выходные полигоны оптимальных коридоров

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

Каждый коридор (или линия) имеет уникальную нумерацию, а в дополнительных полях атрибутивной таблицы хранится специфическая информация о пути. Это дополнительные поля:

  • CORR_ID- уникальный идентификатор коридора
  • REGION1– первый регион, который соединяется путями
  • REGION2– другие регионы, которые соединяются путями
Feature Class
Входной растр или объекты-барьеры
(Дополнительный)

Набор данных, определяющий барьеры.

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

Raster Layer; Feature Layer
Входной растр стоимости
(Дополнительный)

Растр, определяющий полное сопротивление или стоимость движения в плоскости через каждую ячейку.

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

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

Raster Layer
Выходные линии оптимальных соединений
(Дополнительный)

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

Каждый путь (или линия) имеет уникальную нумерацию, а в дополнительных полях атрибутивной таблицы хранится специфическая информация о пути. Это дополнительные поля:

  • PATHID– уникальный идентификатор пути
  • PATHCOST– общее накопленное расстояние или стоимость для пути
  • REGION1– первый регион, который соединяется путями
  • REGION2– другие регионы, которые соединяются путями

Feature Class
Выходные полигоны коридоров соседств
(Дополнительный)

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

Каждый коридор имеет уникальную нумерацию, а в дополнительных полях атрибутивной таблицы хранится специфическая информация о пути. Это дополнительные поля:

  • CORRIDORID- уникальный идентификатор коридора
  • REGION1– первый регион, который соединяется путями
  • REGION2– другие регионы, которые соединяются путями

Feature Class
Выходные соединительные линии соседств
(Дополнительный)

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

Каждый коридор (или полигон) имеет уникальную нумерацию, а в дополнительных полях атрибутивной таблицы хранится специфическая информация о пути. Это дополнительные поля:

  • PATHID– уникальный идентификатор пути
  • PATHCOST– общее накопленное расстояние или стоимость для пути
  • REGION1– первый регион, который соединяется путями
  • REGION2– другие регионы, которые соединяются путями

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

Feature Class
Метод коридора
(Дополнительный)

Задает метод создания коридора.

  • Фиксированная ширина коридораКоридор будет иметь фиксированную ширину, и на основе этой ширины будут созданы оптимальные коридоры и пути. Используется по умолчанию.
Примечание:

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

String
Ширина коридора
(Дополнительный)

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

Double
Метод расстояний
(Дополнительный)

Указывает, будет ли расстояние вычисляться с использованием планарного (плоская поверхность земли) или геодезического (эллипсоид) метода.

  • ПлоскостнойРасчет расстояний выполняется на проецированной плоскости при использовании декартовой системы координат 2D. Используется по умолчанию.
  • ГеодезическийРасчет расстояния будет производиться по эллипсоиду. Независимо от входной или выходной проекции, результаты не меняются.
String

OptimalCorridorConnections(in_regions, out_optimal_polygons, {in_barriers}, {in_cost_raster}, {out_optimal_lines}, {out_neighbor_polygons}, {out_neighbor_lines}, {corridor_method}, {corridor_width}, {distance_method})
ИмяОписаниеТип данных
in_regions

Входные регионы, которые должны быть соединены оптимальными коридорами.

В качестве регионов можно задать растровый или векторный набор данных.

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

Если входные регионы представлены в виде набора объектов, это могут быть полигоны, полилинии или точки. Полигональные регионы не могут содержать составных объектов.

Raster Layer; Feature Layer
out_optimal_polygons

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

Каждый коридор (или линия) имеет уникальную нумерацию, а в дополнительных полях атрибутивной таблицы хранится специфическая информация о пути. Это дополнительные поля:

  • CORR_ID- уникальный идентификатор коридора
  • REGION1– первый регион, который соединяется путями
  • REGION2– другие регионы, которые соединяются путями
Feature Class
in_barriers
(Дополнительный)

Набор данных, определяющий барьеры.

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

Raster Layer; Feature Layer
in_cost_raster
(Дополнительный)

Растр, определяющий полное сопротивление или стоимость движения в плоскости через каждую ячейку.

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

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

Raster Layer
out_optimal_lines
(Дополнительный)

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

Каждый путь (или линия) имеет уникальную нумерацию, а в дополнительных полях атрибутивной таблицы хранится специфическая информация о пути. Это дополнительные поля:

  • PATHID– уникальный идентификатор пути
  • PATHCOST– общее накопленное расстояние или стоимость для пути
  • REGION1– первый регион, который соединяется путями
  • REGION2– другие регионы, которые соединяются путями

Feature Class
out_neighbor_polygons
(Дополнительный)

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

Каждый коридор имеет уникальную нумерацию, а в дополнительных полях атрибутивной таблицы хранится специфическая информация о пути. Это дополнительные поля:

  • CORRIDORID- уникальный идентификатор коридора
  • REGION1– первый регион, который соединяется путями
  • REGION2– другие регионы, которые соединяются путями

Feature Class
out_neighbor_lines
(Дополнительный)

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

Каждый коридор (или полигон) имеет уникальную нумерацию, а в дополнительных полях атрибутивной таблицы хранится специфическая информация о пути. Это дополнительные поля:

  • PATHID– уникальный идентификатор пути
  • PATHCOST– общее накопленное расстояние или стоимость для пути
  • REGION1– первый регион, который соединяется путями
  • REGION2– другие регионы, которые соединяются путями

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

Feature Class
corridor_method
(Дополнительный)

Задает метод создания коридора.

Примечание:

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

  • FIXED_WIDTH_CORRIDORКоридор будет иметь фиксированную ширину, и на основе этой ширины будут созданы оптимальные коридоры и пути. Используется по умолчанию.
String
corridor_width
(Дополнительный)

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

Double
distance_method
(Дополнительный)

Указывает, будет ли расстояние вычисляться с использованием планарного (плоская поверхность земли) или геодезического (эллипсоид) метода.

  • PLANARРасчет расстояний выполняется на проецированной плоскости при использовании декартовой системы координат 2D. Используется по умолчанию.
  • GEODESICРасчет расстояния будет производиться по эллипсоиду. Независимо от входной или выходной проекции, результаты не меняются.
String

Пример кода

OptimalCorridorConnections, пример 1 (окно Python)

Следующий скрипт окна Python демонстрирует использование функции OptimalCorridorConnections.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/arcpyexamples/data"
out_OCC_raster = OptimalCorridorConnections("InRegions.tif", 
    "OutCorridors.shp", "InBarriers.tif", "InCostRaster.tif", 
    "OutOptimalPaths.shp", "OutNbrPoly.shp", "OutNbrLines.shp", 
    "FIXED_WIDTH_CORRIDOR", 5000, "PLANAR")
OptimalCorridorConnections, пример 2 (автономный скрипт)

Вычисляет оптимальную сеть коридоров для диких животных между известными местами обитания.

# Name: OptimalCorridorConnections_standalone.py
# Description: Calculates corridor.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Set environment settings
env.workspace = "C:/arcpyexamples/data"

# Set local variables
regions = "Lakes.tif"
outCorridors = "NewCorridors.shp"
roadBarriers = "Roads.shp"
costSurface = "CostSurface.tif"
optimalLines = "OutCorridorCenterLines.shp"
outAllCorridors = "OutAllCorridors.shp"
outAllLines = "OutAllCenterLines.shp"
corridorMethod = "FIXED_WIDTH_CORRIDOR"
corridorWidth = 5000
distanceMethod = "GEODESIC"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute  OptimalCorridorConnections

OptimalCorridorConnections(regions, outCorridors, roadBarriers,
                           costSurface, optimalLines,
                           outAllCorridors, outAllLines,
                           corridorMethod, corridorWidth, distanceMethod)