Построить сетку (Управление данными)

Сводка

Строит сетку прямоугольных ячеек. Выходными данными могут быть полилинейные или полигональные объекты.

Более подробно о том, как работает инструмент Построить сетку

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

  • Система координат выходных данных может быть установлена или на основе класса пространственных объектов или слоя в параметре Экстент шаблона (Template Extent), либо путем установки параметра среды Выходная система координат .

  • В дополнение к созданию выходной сетки создается новый класс точечных объектов с точками меток в центре каждой ячейки сети, если отмечен параметр Создать метки (labels = 'LABELS' в Python). Имя этого класса пространственных объектов совпадает с именем выходного класса объектов с суффиксом _label, и он создается в том же расположении.

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

  • Значения Ширина ячейки и Высота ячейки вводятся в тех же единицах, которые определены в выходном классе объектов.

Синтаксис

arcpy.management.CreateFishnet(out_feature_class, origin_coord, y_axis_coord, cell_width, cell_height, number_rows, number_columns, {corner_coord}, {labels}, {template}, {geometry_type})
ParameterОбъяснениеТип данных
out_feature_class

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

Feature Class
origin_coord

Начальная (левая нижняя) точка сетки.

Point
y_axis_coord

Координата по оси Y, которая используется для ориентации сетки. Сетка поворачивается на угол, определяемый линией, которая связывает исходную координату и координату по оси y.

Point
cell_width

Определяет ширину каждой ячейки. Если вы хотите, чтобы ширина вычислялась автоматически с помощью значения в параметре Число строк, оставьте этот параметр пустым или установите значение 0; тогда ширина будет вычисляться при запуске инструмента.

Double
cell_height

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

Double
number_rows

Определяет количество строк в сетке. Если вы хотите, чтобы количество строк вычислялось автоматически с помощью значения в параметре Ширина ячейки, оставьте этот параметр пустым или установите значение 0; тогда количество строк будет вычисляться при запуске инструмента.

Long
number_columns

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

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

Противоположный угол сетки, установленный по значениям Координата по X и Координата по Y.

Point
labels
(Дополнительный)

Устанавливает, будет ли создан класс точечных объектов, содержащий точки меток в центре каждой ячейки сети.

  • LABELSСоздается новый класс пространственных объектов с точками меток. Это значение по умолчанию.
  • NO_LABELSКласс объектов с точками меток не создается.
Boolean
template
(Дополнительный)

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

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

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

  • POLYLINEВыходные данные будут представлены классом объектов полилиний. Каждая ячейка определяется четырьмя линейными объектами.
  • POLYGONВыходные данные будут представлены классом полигональных объектов. Каждая ячейка определяется одним полигональным объектом.
String

Производные выходные данные

NameОбъяснениеТип данных
out_label

Создается новый класс точечных объектов, содержащий точки меток в центре каждой ячейки сетки

Если включен параметр Создать точки меток (labels = 'LABELS' в Python), создается новый класс точечных объектов, содержащий точки меток в центре каждой ячейки сетки. Имя этого класса пространственных объектов совпадает с именем выходного класса объектов с суффиксом _label, он создается в том же месте.

Класс пространственных объектов

Пример кода

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

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

import arcpy

# Create a fishnet with 9 columns and 9 rows
# with origin at (1, 1) and output geometry is set to default (POLYLINE)
arcpy.CreateFishnet_management("C:/data/output/fishnet1.shp", "1 1", "1 9", "1", "1", "9", "9", "#", "NO_LABELS")
CreateFishnet, пример 2 (автономный скрипт)

В следующем автономном скрипте показано, как создать новые прямоугольные ячейки (сетку) с помощью функции CreateFishnet.

# Name: CreateFishnet.py
# Description: Creates rectangular cells

# import system module
import arcpy
from arcpy import env

# set workspace environment
env.workspace = "C:/data/output"

# Set coordinate system of the output fishnet
env.outputCoordinateSystem = arcpy.SpatialReference("NAD 1983 UTM Zone 11N")

outFeatureClass = "fishnet10by10.shp"

# Set the origin of the fishnet
originCoordinate = '1037.26 4145.81'

# Set the orientation
yAxisCoordinate = '1037.26 4155.81'

# Enter 0 for width and height - these values will be calcualted by the tool
cellSizeWidth = '0'
cellSizeHeight = '0'

# Number of rows and columns together with origin and opposite corner 
# determine the size of each cell 
numRows =  '10'
numColumns = '10'

oppositeCoorner = '19273.61 18471.17'

# Create a point label feature class 
labels = 'LABELS'

# Extent is set by origin and opposite corner - no need to use a template fc
templateExtent = '#'

# Each output cell will be a polygon
geometryType = 'POLYGON'

arcpy.CreateFishnet_management(outFeatureClass, originCoordinate, yAxisCoordinate, cellSizeWidth, cellSizeHeight, numRows, numColumns, oppositeCoorner, labels, templateExtent, geometryType)

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

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

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