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

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

Сводка

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

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

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

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

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

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

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

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

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

  • Если входные регионы растровые и диапазон ID строк очень велик (даже если имеется всего несколько регионов), производительность инструмента Оптимальные соединения регионов может снизиться.

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

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

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

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

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

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

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

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

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

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

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

Синтаксис

OptimalRegionConnections(in_regions, out_feature_class, {in_barrier_data}, {in_cost_raster}, {out_neighbor_paths}, {distance_method}, {connections_within_regions})
ParameterОбъяснениеТип данных
in_regions

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

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

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

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

Raster Layer; Feature Layer
out_feature_class

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

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

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

Данная информация формирует понимание маршрутов сети.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • PLANARРасчет расстояний выполняется на проецированной плоскости при использовании декартовой системы координат 2D. Это значение по умолчанию Короткое целое.
  • GEODESICРасчет расстояния будет производиться по эллипсоиду. Поэтому, независимо от входной или выходной проекции, результаты не меняются.
String
connections_within_regions
(Дополнительный)

Определяет, будут ли пути продолжены и будут ли они соединяться внутри входных регионов.

  • GENERATE_CONNECTIONSПути будут продолжены внутри входных регионов, чтобы все пути в регионе были соединены.
  • NO_CONNECTIONSПути будут останавливаться на ребрах входных регионов и не будут продолжаться и соединяться внутри регионов.
String

Пример кода

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

В следующем скрипте окна Python показано, как используется инструмент OptimalRegionConnections.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outOptRegConnect = OptimalRegionConnections("source.shp", "elevation")
outOptRegConnect.save("C:/sapyexamples/output/optregconnect.tif")
OptimalRegionConnections, пример 2 (автономный скрипт)

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

# Name: OptimalRegionConnections_Ex_02.py
# Description: Calculates for each cell the optimum region connections.
#
# Requirements: Spatial Analyst Extension

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

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

# Set local variables
inSourceData = "source.shp"
inCostRaster = "elevation"
maxDistance = 20000000   
outBkLinkRaster = "C:/sapyexamples/output/outbklink.tif"

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

# Execute the tool
outOptRegConnect = OptimalRegionConnections(inSourceData, inCostRaster)

# Save the output 
outOptRegConnect.save.save("C:/sapyexamples/output/optregconnect.tif")

Информация о лицензиях

  • Basic: Требуется Spatial Analyst
  • Standard: Требуется Spatial Analyst
  • Advanced: Требуется Spatial Analyst

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