Создать замощение (Управление данными)

Сводка

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

Иллюстрация

Создать замощение

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

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

  • Выходные объекты содержат поле GRID_ID. Поле GRID_ID обеспечивает уникальный ID для каждого объекта в выходном классе объектов. ID имеют вид: A-1, A-2, B-1, B-2 и т.д. Это облегчает выборку строк и столбцов с помощью запросов в инструменте Выбрать в слое по атрибуту. Например, выберите все объекты в столбце A с помощью GRID_ID like 'A-%', или выберите все объекты в строке 1 с помощью GRID_ID like '%-1'.

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

Синтаксис

arcpy.management.GenerateTessellation(Output_Feature_Class, Extent, {Shape_Type}, {Size}, {Spatial_Reference})
ParameterОбъяснениеТип данных
Output_Feature_Class

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

Feature Class
Extent

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

  • MAXOF - будет использоваться максимальный экстент всех входных данных.
  • MINOF - будет использоваться минимальная область, общая для всех входных данных.
  • DISPLAY– экстент будет равен видимому отображению.
  • Имя слоя - будет использоваться тот же экстент, что и в указанном слое.
  • Объект Extent - будет использоваться тот же экстент, что и в указанном объекте.
  • Строка координат, разделенных пробелами – будет использоваться экстент из заданной строки. Координаты должны быть выражены в таком порядке: x-min, y-min, x-max, y-max.
Extent
Shape_Type
(Дополнительный)

Тип форм для замощения.

  • HEXAGONПравильные шестиугольные полигоны с одинаковой длиной сторон. Верхняя и нижняя стороны каждого шестиугольника параллельны оси x системы координат (верхняя и нижняя плоскости плоские).
  • TRANSVERSE_HEXAGONПравильные шестиугольные полигоны с одинаковой длиной сторон. Правая и левая стороны каждого шестиугольника параллельны оси y системы координат набора данных (верхняя и нижняя плоскости представлены точками).
  • SQUAREПравильные четырехугольные полигоны с одинаковой длиной сторон. Верхняя и нижняя стороны каждого полигона параллельны оси x системы координат, а правая и левая стороны параллельны оси y системы координат.
  • DIAMONDПравильные четырехугольные полигоны с одинаковой длиной сторон. Каждая сторона многоугольника повернута на 45 градусов от осей x и y системы координат.
  • TRIANGLEОбычный трехсторонний равносторонний многоугольник.
String
Size
(Дополнительный)

Площадь каждой отдельной формы, входящей в состав элементов замощения.

Areal Unit
Spatial_Reference
(Дополнительный)

Пространственная привязка, в которую будет проецироваться выходной набор данных. Если пространственная привязка не указана, выходные данные будут проецированы в привязку входного экстента. Если пространственная привязка отсутствует везде, данные будут проецированы в GCS_WGS_1984.

Spatial Reference

Пример кода

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

Пример скрипта Python для использования инструмента GenerateTesselation в режиме прямого запуска.

import arcpy
tessellation_extent = arcpy.Extent(0.0, 0.0, 10.0, 10.0)
spatial_ref = arcpy.SpatialReference(4326)
arcpy.GenerateTessellation_management(r"C:\data\project.gdb\hex_tessellation", 
                                      tessellation_extent, "HEXAGON", 
                                      "100 SquareMiles", spatial_ref)
GenerateTessellation, пример 2 (автономный скрипт)

В следующем автономном скрипте 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.GenerateTessellation_management(output_feature, extent, "SQUARE", area, 
                                      spatial_ref)

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

  • Basic: Да
  • Standard: Да
  • Advanced: Да

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