Generar teselación (Administración de datos)

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

Generar teselació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

GenerateTessellation(Output_Feature_Class, Extent, {Shape_Type}, {Size}, {Spatial_Reference})
ParámetroExplicaciónTipo 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.

  • HEXAGONUn polígono normal de seis caras con longitudes de los lados iguales. Las caras superior e inferior de cada hexágono son paralelas al eje x del sistema de coordenadas (las partes superior e inferior son planas).
  • TRANSVERSE_HEXAGONUn polígono normal de seis caras con longitudes de los lados iguales. Las caras derecha e izquierda de cada hexágono son paralelas al eje y del sistema de coordenadas del dataset (las partes superior e inferior quedan en punta).
  • SQUAREUn polígono normal de cuatro caras con longitudes de los lados iguales. Las caras superior e inferior del polígono son paralelas al eje x del sistema de coordenadas y las caras derecha e izquierda son paralelas al eje y del sistema de coordenadas.
  • DIAMONDUn polígono normal de cuatro caras con longitudes de los lados iguales. Las caras de cada polígono se rotan 45 grados respecto de los ejes x e y del sistema de coordenadas.
  • TRIANGLEUn polígono equilateral normal de tres caras.
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

Ejemplo 1 de GenerateTessellation (ventana de Python)

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)
Ejemplo 2 de GenerateTessellation (script independiente)

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)

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados