标注 | 说明 | 数据类型 |
输出要素类 | 包含镶嵌格网的输出要素类的路径和名称。 | Feature Class |
范围 | 细分曲面将覆盖的范围。 该范围可以是当前可见区域、数据集的范围或手动输入值。
当手动提供坐标时,坐标必须为数值,并且位于活动地图的坐标系中。 地图可能使用与提供的坐标不同的显示单位。 在南纬和西经坐标中使用负号。 | Extent |
形状类型 (可选) | 指定将生成的形状。
| String |
大小 (可选) | 构成镶嵌的每个形状的面积。 | Areal Unit |
空间参考 (可选) | 将分配给输出要素类的空间参考。 | Spatial Reference |
H3 分辨率 (可选) | 指定六边形的 H3 分辨率。 随着分辨率值的增加,多边形的面积将是其大小的七分之一。
仅当将形状类型参数设置为 H3 六边形时,此参数才处于活动状态。 | Long |
摘要
用于生成覆盖给定范围的正多边形要素的镶嵌格网。 该细分曲面可以是三角形、正方形、菱形、六边形、H3 六边形或横向六边形。
插图

使用情况
要确保整个输入范围被细分面格网覆盖,可有意使输出要素的范围超出输入范围。 出现这种情况的原因是镶嵌格网的边缘不总是直线,且如果用输入范围限制格网,可能会有间距出现。
对于 H3 六边形以外的形状类型参数选项,将使用欧氏计算创建输出要素。 为了获得最佳结果,范围参数值应位于可最大限度降低距离或面积失真的坐标系中。 范围应位于相应投影坐标系中。 应首先投影不适合距离测量的地理坐标系或投影坐标系的范围。
当形状类型参数值为 H3 六边形时,GRID_ID 字段值将为每个像元的唯一等级索引。
对于所有其他形状类型参数值,GRID_ID 字段将为每个要素的唯一 ID。 ID 的格式为 A-1、A-2、B-1、B-2 等等。 由此可以使用按属性选择图层工具通过查询选择行和列。 例如,使用 GRID_ID like 'A-%' 选择列 A 中的所有要素,或使用 GRID_ID like '%-1' 选择行 1 中的所有要素。
输出的空间参考由以下项确定:
- 空间参考参数值(如果已指定)
- 如果未指定空间参考参数,则将使用“输出坐标系”环境值(如果已设置)。
- 如果这两个值均未设置,则使用范围参数值的空间参考。
范围参数值由定义矩形的坐标以及空间参考组成。 当范围(例如,活动地图的范围)通过现有对象设置时,或当在 Python 中使用 arcpy.Describe(dataset).extent 时,对象的空间参考通常包含在内。
如果范围参数值具有未定义的空间参考,则假定坐标位于输出的空间参考中。
如果范围参数值的空间参考与输出要素类参数值不同,则要素将在范围参数值的空间参考中生成,并投影到输出的空间参考。 当形状类型参数值为 H3 六边形时,此规则不适用。
要生成不包括细分曲面要素的格网(不与另一数据集中的要素相交),请使用按位置选择图层工具选择包含源要素的输出面,并使用复制要素工具生成所选输出要素的永久副本,并将其复制到新的要素类。
该工具将基于指定面积生成形状。 要根据边长确定形状的面积,请使用以下公式之一来计算大小参数的值:
形状 公式 示例 六边形或横向六边形
要生成边长为 100 米的六边形,请将大小参数值指定为 25980.76211353316 平方米(100 的 2 次方乘以 3 乘以 3 的平方根除以 2)。
平方
要生成边长为 100 米的正方形,请将大小参数值指定为 10,000 平方米(100 的 2 次方)。
菱形
要生成边长为 100 米的菱形,请将大小参数值指定为 10,000 平方米(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 (可选) | 将分配给输出要素类的空间参考。 | 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.)
width = extent.width
height = extent.height
unit = extent.spatialReference.linearUnitName
size = width/3 * height/3
area = f"{size} Square{unit}s"
# Use the extent's spatial reference to project the output
spatial_ref = extent.spatialReference
arcpy.management.GenerateTessellation(output_feature, extent, "SQUARE", area,
spatial_ref)
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是