Resumen
Genera una cuadrícula teselada de entidades poligonales normales para cubrir una determinada extensión. La teselación puede ser de triángulos, cuadrados, rombos, hexágonos o hexágonos transversales.
Ilustración
Uso
Para asegurarse de que toda la extensión de entrada queda cubierta por la cuadrícula en teselas, las entidades de salida se extienden intencionadamente más allá de la extensión de entrada. Esto ocurre porque los bordes de la cuadrícula en teselas no siempre tendrán líneas rectas y podrían generarse espacios si la cuadrícula estuviera limitada por la extensión de entrada.
Las entidades de salida contienen un campo GRID_ID. El campo GRID_ID proporciona un Id. único para cada entidad en la clase de entidad de salida. El formato de los Id. es A-1, A-2, B-1, B-2, etcétera. Esto permite seleccionar fácilmente filas y columnas utilizando consultas en la herramienta Seleccionar capa por atributo. Por ejemplo, puede seleccionar todas las entidades de la columna A con GRID_ID like 'A-%' o seleccionar todas las entidades de la fila 1 con GRID_ID like '%-1'.
- Para crear una cuadrícula en la que se excluyan las entidades de teselación que no intersecan entidades de otro dataset, utilice la herramienta Seleccionar capa por ubicación para seleccionar polígonos de salida que contengan las entidades de origen y utilice la herramienta Copiar entidades para realizar una copia permanente de las entidades de salida seleccionadas en una nueva clase de entidad.
Sintaxis
arcpy.management.GenerateTessellation(Output_Feature_Class, Extent, {Shape_Type}, {Size}, {Spatial_Reference})
Parámetro | Explicación | Tipo de datos |
Output_Feature_Class | La ruta y el nombre de la clase de entidad de salida que contiene la cuadrícula en teselas. | Feature Class |
Extent | La extensión que cubrirá la teselación. Esta puede ser el área que esté visible actualmente, la extensión de un dataset o valores introducidos manualmente.
| Extent |
Shape_Type (Opcional) | El tipo de forma que se va a teselar.
| String |
Size (Opcional) | El área de cada forma individual que compone la teselación. | Areal Unit |
Spatial_Reference (Opcional) | La referencia espacial con la que se proyectará el dataset de salida. Si no se proporciona una referencia espacial, la salida se proyectará en la referencia espacial de la extensión de entrada. Si tampoco tiene una referencia espacial, la salida se proyectará en GCS_WGS_1984. | Spatial Reference |
Muestra de código
El script de la ventana de Python muestra cómo utilizar la herramienta GenerateTesselation en el modo inmediato.
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)
El siguiente script independiente de Python muestra cómo extraer, mediante programación, una extensión de una clase de entidad y cómo utiliza esa extensión para rellenar los parámetros de la herramienta 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)
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí