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

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

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

Более подробно о соединении регионов оптимальными сетью

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Параметры

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

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

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

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

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

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

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

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

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

Эта информация обеспечивает понимание путей в сети.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Создать соединенияПути будут продолжаться внутри входных регионов, чтобы соединять все пути, входящие в регион.
  • Нет соединенийПути будут останавливаться на границах входных регионов и не будут продолжаться или соединяться внутри.
String

OptimalRegionConnections(in_regions, out_feature_class, {in_barrier_data}, {in_cost_raster}, {out_neighbor_paths}, {distance_method}, {connections_within_regions})
ИмяОписаниеТип данных
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")