Mosaik generieren (Data Management)

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

Mosaik generieren

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})
ParameterErklärungDatentyp
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.

  • MAXOF: Die maximale Ausdehnung aller Eingaben wird verwendet.
  • MINOF: Die kleinste gemeinsame Fläche aller Eingaben wird verwendet.
  • DISPLAY: Die Ausdehnung entspricht der sichtbaren Anzeige.
  • Layer-Name: Die Ausdehnung des angegebenen Layers wird verwendet.
  • Extent-Objekt: Die Ausdehnung des angegebenen Objekts wird verwendet.
  • Durch Leerzeichen getrennte Koordinatenzeichenfolge: Die Ausdehnung der angegebenen Zeichenfolge wird verwendet. Die Koordinaten werden in der Reihenfolge X-Min, Y-Min, X-Max, Y-Max ausgedrückt.
Extent
Shape_Type
(optional)

Der Shape-Typ, der mosaikiert werden soll.

  • HEXAGONEin regelmäßiges sechsseitiges Polygon mit gleichen Seitenlängen. Die Ober- und Unterseite der einzelnen Hexagone sind parallel zur X-Achse des Koordinatensystems (obere und untere Seite sind flach).
  • TRANSVERSE_HEXAGONEin regelmäßiges sechsseitiges Polygon mit gleichen Seitenlängen. Die rechte und linke Seite der einzelnen Hexagone sind parallel zur Y-Achse des Dataset-Koordinatensystems (obere und untere Seite sind spitz).
  • SQUAREEin regelmäßiges vierseitiges Polygon mit gleichen Seitenlängen. Die Ober- und Unterseite der einzelnen Polygone sind parallel zur X-Achse des Koordinatensystems, und die rechte und linke Seite sind parallel zur Y-Achse des Koordinatensystems.
  • DIAMONDEin regelmäßiges vierseitiges Polygon mit gleichen Seitenlängen. Die Seiten der einzelnen Polygone sind gegenüber der X- und Y-Achse des Koordinatensystems um 45 Grad gedreht.
  • TRIANGLEEin regelmäßiges dreiseitiges Polygon mit gleichen Seitenlängen.
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

GenerateTessellation – Beispiel 1 (Python-Fenster)

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)
GenerateTessellation - Beispiel 2 (eigenständiges Skript)

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)

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen