Zusammenfassung
Generiert ein Mosaik aus regelmäßigen Polygonen, um eine angegebene Ausdehnung abzudecken. Das Mosaik kann aus Dreiecken, Quadraten, Rauten, Hexagonen oder transversalen Hexagonen bestehen.
Abbildung
Verwendung
Um sicherzustellen, dass die gesamte Ausdehnung vom Mosaik abgedeckt wird, erstrecken sich die Ausgabe-Features absichtlich über die Eingabe-Ausdehnung hinaus. Grund dafür ist, dass die Kanten des Mosaiks nicht immer gerade Linien sind und sich Lücken ergäben, wenn das Raster durch die Eingabe-Ausdehnung begrenzt wäre.
Die Ausgabe-Features enthalten das Feld GRID_ID. Das Feld GRID_ID stellt eine eindeutige ID für jedes Feature in der Ausgabe-Feature-Class bereit. Das Format der IDs lautet A-1, A-2, B-1, B-2 usw. Dadurch wird eine einfache Auswahl von Zeilen und Spalten durch die Verwendung von Abfragen im Werkzeug Layer nach Attributen auswählen ermöglicht. Wählen Sie beispielsweise alle Features in der Spalte A mit GRID_ID like 'A-%' oder alle Features in Zeile 1 mit GRID_ID like '%-1' aus.
- Um ein Mosaik zu erstellen, das Mosaik-Features ausschließt, die keine Features in einem anderen Dataset schneiden, verwenden Sie das Werkzeug Layer lagebezogen auswählen, um Ausgabe-Polygone auszuwählen, die die Quell-Features enthalten. Verwenden Sie das Werkzeug Features kopieren, um eine dauerhafte Kopie der ausgewählten Ausgabe-Features in eine neue Feature-Class zu kopieren.
Syntax
arcpy.management.GenerateTessellation(Output_Feature_Class, Extent, {Shape_Type}, {Size}, {Spatial_Reference})
Parameter | Erklärung | Datentyp |
Output_Feature_Class | Der Pfad und der Name der Ausgabe-Feature-Class mit dem Mosaik. | Feature Class |
Extent | Die Ausdehnung, die das Mosaik abdeckt. Hierbei kann es sich um den aktuell sichtbaren Bereich, die Ausdehnung eines Datasets oder manuell eingegebene Werte handeln.
| Extent |
Shape_Type (optional) | Der Shape-Typ, der mosaikiert werden soll.
| String |
Size (optional) | Die Fläche der einzelnen Shapes, aus denen das Mosaik besteht. | Areal Unit |
Spatial_Reference (optional) | Der Raumbezug, in den das Ausgabe-Dataset projiziert wird. Wenn kein Raumbezug angegeben ist, wird die Ausgabe in den Raumbezug der Eingabe-Ausdehnung projiziert. Wenn kein Raumbezug angegeben ist, wird die Ausgabe in GCS_WGS_1984 projiziert. | Spatial Reference |
Codebeispiel
Das folgende Skript für das Python-Fenster veranschaulicht, wie das Werkzeug GenerateTesselation im unmittelbaren Modus verwendet wird.
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)
Das folgende eigenständige Python-Skript veranschaulicht, wie eine Ausdehnung programmgesteuert aus einer Feature-Class extrahiert und die Ausdehnung verwendet wird, um die Parameter des Werkzeugs GenerateTessellation zu füllen.
# 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)
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja