Построить полигоны поднабора (Geostatistical Analyst)

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

Сводка

Создает неперекрывающиеся поднаборы полигональных объектов из набора входных точек. Цель - разделить точки в небольшие неперекрывающиеся поднаборы и создать полигональные регионы вокруг каждого из поднаборов точек. Минимальным и максимальным числом точек в каждом поднаборе можно управлять.

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

Иллюстрация

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

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

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

  • Этот инструмент концептуально схож с инструментами группы Кластеризация набора инструментов Углубленный анализ пространственно-временных закономерностей. Основное различие заключается в том, что эти инструменты создают точечные кластеры путем присвоения уникальных значений ID всем элементам кластера, а данный инструмент задает поднаборы, создавая полигональные поднаборы вокруг точек в каждом поднаборе. Причина этой разницы заключается в том, что Предположение регрессии EBK требует, чтобы поднаборы были заданы полигональными областями.

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

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

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

Синтаксис

GenerateSubsetPolygons(in_point_features, out_feature_class, {min_points_per_subset}, {max_points_per_subset}, {coincident_points})
ParameterОбъяснениеТип данных
in_point_features

Точки будут сгруппированы в поднаборы.

Feature Layer
out_feature_class

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

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

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

Long
max_points_per_subset
(Дополнительный)

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

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

Long
coincident_points
(Дополнительный)

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

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

Если выбрана опция COINCIDENT_ALL, полигоны вашего Out_feature_class могут накладываться друг на друга.

  • COINCIDENT_SINGLE Совпадающие точки будут считаться одной точкой поднабора. Используется по умолчанию.
  • COINCIDENT_ALL Совпадающие точки будут рассматриваться, как отдельные точки поднабора.
Boolean

Пример кода

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

Группирует набор точек в полигональные поднаборы.

arcpy.GenerateSubsetPolygons_ga("myPoints","polygonSubsets",20,30,"COINCIDENT_SINGLE")
GenerateSubsetPolygons, пример 2 (автономный скрипт)

Группирует набор точек в полигональные поднаборы.

# Name: GenerateSubsetPolygons_Example_02.py
# Description: Groups points into polygon subsets of a similar size.
# Requirements: Geostatistical Analyst Extension
# Author: Esri

# Import system modules
import arcpy

# Set local variables
inPoints = "C:/gapyexamples/input/myPoints.shp"
outFeatureClass = "C:/gapyexamples/output/myPolygons.shp"
minPoints = 50
maxPoints = 75
coincidentPoints = "COINCIDENT_ALL"

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

# Execute GenerateSubsetPolygons
arcpy.GenerateSubsetPolygons_ga(inPoints, outFeatureClass, minPoints, maxPoints, coincidentPoints)

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

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

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