Подпись | Описание | Тип данных |
Выходной класс пространственных объектов | Путь и имя выходного класса объектов, содержащего мозаичную сеть. | Feature Class |
Экстент | Экстент, который покрывается мозаичной сетью. Это может быть текущая отображаемая область, экстент набора данных или значения, введенные вручную.
| Extent |
Тип формы (Дополнительный) | Задает форму, которая будет создана.
| String |
Размер (Дополнительный) | Площадь каждой отдельной формы, входящей в состав элементов замощения. | Areal Unit |
Пространственная привязка (Дополнительный) | Пространственная привязка, в которую будет проецироваться выходной набор данных. Если пространственная привязка не указана, выходные данные будут проецированы в привязку входного экстента. Если пространственная привязка отсутствует, данные будут проецированы в GCS_WGS_1984. | Spatial Reference |
Разрешение H3 (Дополнительный) | Задает разрешение H3 для шестиугольников. С каждым увеличением значения разрешения площадь полигонов будет на одну седьмую больше размера.
Этот параметр активен, когда для параметра Тип формы задано значение Шестиугольник H3. | Long |
Краткая информация
Создает мозаичную сетку объектов - правильных многоугольников для покрытия заданного экстента. Замощение может состоять из треугольников, квадратов, ромбов, шестиугольников, шестиугольников H3 или поперечных шестиугольников.
Иллюстрация
Использование
Для того, чтобы мозаичная сетка точно покрывала весь входной экстент, выходные объекты должны выходить за пределы входного экстента. Это происходит потому, что мозаичная сетка не всегда может иметь прямолинейные границы, и если сеть будет ограничена экстентом, будут появляться пробелы.
Поле GRID_ID будет добавлено в выходные данные.
Когда параметр Тип формы задан как Шестиугольник H3, значения поля GRID_ID будут уникальным иерархическим индексом для каждой ячейки.
Для других значений параметра Тип формы поле GRID_ID будет уникальным ID каждого объекта. ID имеют вид: A-1, A-2, B-1, B-2 и т.д. Это облегчает выборку строк и столбцов с помощью запросов в инструменте Выбрать в слое по атрибуту. Например, выберите все объекты в столбце A с помощью GRID_ID like 'A-%' или все объекты в строке 1 с помощью GRID_ID like '%-1'.
Чтобы создать сетку, исключающую объекты замощения, которые не пересекаются с объектами из другого набора данных, используйте инструмент Выбрать в слое по расположению, чтобы выбрать выходные полигоны, содержащие объекты-источники, и используйте инструмент Копировать объекты, чтобы создать постоянную копию выбранных выходных объектов в новом классе объектов.
Инструмент создает формы в единицах площади. Чтобы определить площадь геометрии на основе длины стороны, используйте одну из следующих формул для расчета значения параметра Размер:
Форма Формула Пример Шестиугольник или Поперечный шестиугольник
Чтобы создать шестиугольники со стороной 100 метров, задайте для параметра Размер значение 25980,76211353316 квадратных метров (100, возведенное в степень 2, умноженное на 3, умноженное на квадратный корень из 3, деленный на 2).
Квадрат
Чтобы создать квадраты со стороной 100 метров, укажите для параметра Размер значение 10000 квадратных метров (100 в степени 2).
Ромб
Чтобы создать ромбы со стороной 100 метров, укажите для параметра Размер значение 10000 квадратных метров (100 в степени 2).
Треугольник
Чтобы создать треугольники со стороной 100 метров, задайте для параметра Размер значение 4330,127018922193 квадратных метра (100, возведенное в степень 2, умноженное на квадратный корень из 3, деленный на 4).
Для значения параметра Тип формы выбранная опция Шестиугольник H3 игнорирует параметр Размер. Площадь шестиугольника будет зависеть от значения параметра Разрешение H3.
Параметры
arcpy.management.GenerateTessellation(Output_Feature_Class, Extent, {Shape_Type}, {Size}, {Spatial_Reference}, {H3_Resolution})
Имя | Описание | Тип данных |
Output_Feature_Class | Путь и имя выходного класса объектов, содержащего мозаичную сеть. | Feature Class |
Extent | Экстент, который покрывается мозаичной сетью. Это может быть текущая отображаемая область, экстент набора данных или значения, введенные вручную.
| Extent |
Shape_Type (Дополнительный) | Задает форму, которая будет создана.
| String |
Size (Дополнительный) | Площадь каждой отдельной формы, входящей в состав элементов замощения. | Areal Unit |
Spatial_Reference (Дополнительный) | Пространственная привязка, в которую будет проецироваться выходной набор данных. Если пространственная привязка не указана, выходные данные будут проецированы в привязку входного экстента. Если пространственная привязка отсутствует, данные будут проецированы в GCS_WGS_1984. | Spatial Reference |
H3_Resolution (Дополнительный) | Задает разрешение H3 для шестиугольников. С каждым увеличением значения разрешения площадь полигонов будет на одну седьмую больше размера.
Этот параметр активен тогда, когда параметр Shape_Type имеет значение H3_HEXAGON. | Long |
Пример кода
В следующем скрипте окна Python показано, как используется функция GenerateTessellation в режиме прямого запуска.
import arcpy
tessellation_extent = arcpy.Extent(0.0, 0.0, 10.0, 10.0)
spatial_ref = arcpy.SpatialReference(4326)
arcpy.management.GenerateTessellation(r"C:\data\project.gdb\hex_tessellation",
tessellation_extent, "HEXAGON",
"100 SquareMiles", spatial_ref)
Следующее окно скрипта Python демонстрирует использование функции GenerateTessellation для создания шестиугольников H3.
# Import modules
import arcpy
# Create some variables
out_gdb = r"C:\temp\project.gdb\h3_hexagon"
extent = arcpy.Extent(0.0, 0.0, 10.0, 10.0)
sr = arcpy.SpatialReference(4326)
# Generate H3 hexagons
arcpy.management.GenerateTessellation(out_gdb, Extent=extent, Shape_Type="H3_HEXAGON",
H3_Resolution=5, Spatial_Reference=sr)
В следующем автономном скрипте Python показано, как программно извлечь экстент класса объектов и использовать его для заполнения параметров функции GenerateTessellation.
# Name: GenerateDynamicTessellation.py
# Purpose: Generate a grid of squares over the envelope of a provided feature
# class.
# Import modules
import arcpy
# Set paths of features
my_feature = r"C:\data\project.gdb\myfeature"
output_feature = r"C:\data\project.gdb\sqtessellation"
# Describe the input feature and extract the extent
description = arcpy.Describe(my_feature)
extent = description.extent
# Find the width, height, and linear unit used by the input feature class' extent
# Divide the width and height value by three.
# Multiply the divided values together and specify an area unit from the linear
# unit.
# Should result in a 4x4 grid covering the extent. (Not 3x3 since the squares
# hang over the extent.)
w = extent.width
h = extent.height
u = extent.spatialReference.linearUnitName
area = "{size} Square{unit}s".format(size=w/3 * h/3, unit=u)
# Use the extent's spatial reference to project the output
spatial_ref = extent.spatialReference
arcpy.management.GenerateTessellation(output_feature, extent, "SQUARE", area,
spatial_ref)