创建渔网 (数据管理)

摘要

创建由矩形像元组成的渔网。 输出可以是折线或面要素。

了解有关“创建渔网”的工作原理的详细信息

使用情况

  • 可通过在模板范围参数中输入要素类或图层,或通过设置输出坐标系环境变量,来设置输出的坐标系。

  • 除了创建输出渔网之外,如果选中了创建标注点参数,则会新建一个包含在每一渔网像元的中心位置标注点的点要素类。 此要素类后缀为 _label,与输出要素类的名称、创建位置均相同。

  • 使用几何类型参数,可以创建输出折线像元(默认)或面像元。 创建面渔网可能会更慢,具体取决于行数和列数。

  • 像元宽度像元高度参数值的单位相同,均由输出要素类定义。

参数

标注说明数据类型
输出要素类

包含由矩形像元组成的渔网的输出要素类。

Feature Class
渔网原点坐标

渔网的起始枢轴点。

Point
Y 轴坐标

y 轴坐标用于定向渔网。 渔网旋转的角度与连接原点和 y 轴坐标的线所定义的角度相同。

Point
像元宽度

每个像元的宽度。 要使用行数参数值计算像元宽度,请将此参数留空或将值设置为零;这样工具运行时将自动计算宽度。

Double
像元高度

每个像元的高度。 要使用列数参数值计算像元高度,请将此参数留空或将值设置为零;这样工具运行时将自动计算高度。

Double
行数

渔网所含的行数。 要使用像元宽度参数值计算行数,请将此参数留空或将值设置为零;这样工具运行时将自动计算行数。

Long
列数

渔网所含的列数。 要使用像元高度参数值计算列数,请将此参数留空或将值设置为零;这样工具运行时将自动计算列数。

Long
渔网对角
(可选)

使用渔网原点坐标参数设置的渔网对角。 如果指定了模板范围参数,则会自动设置对角的值。

如果指定了渔网原点坐标Y 轴坐标像元宽度像元高度行数列数参数,则此参数无效。

Point
创建标注点
(可选)

指定是否创建包含在每个渔网像元中心标注点的点要素类。

  • 选中 - 将创建点要素类。 这是默认设置。
  • 未选中 - 不创建点要素类。
Boolean
模板范围
(可选)

渔网范围。 可以通过指定坐标或使用模板数据集来输入范围。

  • 默认 - 该范围将基于所有参与输入的最大范围设定。这是默认设置。
  • 当前显示范围 - 该范围与数据框或可见显示范围相等。如果没有活动地图,则该选项将不可用。
  • 如下面的指定 - 该范围将基于指定的最小和最大范围值。
  • 浏览 - 该范围将基于现有数据集。
Extent
几何类型
(可选)

指定输出渔网像元是折线要素还是面要素。

  • 折线输出将为折线要素类。 每个像元都由四个线要素定义。
  • 输出将为面要素类。 每个像元都由一个面要素定义。
String

派生输出

标注说明数据类型
输出标注要素类(可选)

创建一个新的点要素类,其中每个渔网像元中心都具有标注点

如果选中了创建标注点参数,则会创建一个新的点要素类,其中每个渔网像元中心都具有标注点。 此要素类后缀为 _label,与输出要素类的名称、创建位置均相同。

如果将 labels 参数设置为 LABELS,则会创建一个新的点要素类,其中每个渔网像元中心都具有标注点。 此要素类后缀为 _label,与输出要素类的名称、创建位置均相同。

Feature Class

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})
名称说明数据类型
out_feature_class

包含由矩形像元组成的渔网的输出要素类。

Feature Class
origin_coord

渔网的起始枢轴点。

Point
y_axis_coord

y 轴坐标用于定向渔网。 渔网旋转的角度与连接原点和 y 轴坐标的线所定义的角度相同。

Point
cell_width

每个像元的宽度。 要使用 number_rows 参数值计算像元宽度,请将此参数留空或将值设置为零;这样工具运行时将自动计算宽度。

Double
cell_height

每个像元的高度。 要使用 number_columns 参数值计算像元高度,请将此参数留空或将值设置为零;这样工具运行时将自动计算高度。

Double
number_rows

渔网所含的行数。 要使用 cell_width 参数值计算行数,请将此参数留空或将值设置为零;这样工具运行时将自动计算行数。

Long
number_columns

渔网所含的列数。 要使用 cell_height 参数值计算列数,请将此参数留空或将值设置为零;这样工具运行时将自动计算列数。

Long
corner_coord
(可选)

使用 origin_coord 参数设置的渔网对角。

如果指定了 origin_coordy_axis_coordcell_widthcell_heightnumber_rowsnumber_columns 参数,则此参数无效。

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

派生输出

名称说明数据类型
out_label

创建一个新的点要素类,其中每个渔网像元中心都具有标注点

Feature Class

代码示例

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)