Arbeiten mit Raster-Objekten
Mit Spatial Analyst-Lizenz verfügbar.
Raster-Objekte können als Eingabe in Map Algebra-Ausdrücke verwendet werden und sind die Hauptausgabe aus Map Algebra-Ausdrücken. Bei der Ausführung eines Map Algebra-Ausdrucks, der Operatoren verwendet, müssen die Eingaben Raster-Objekte oder Konstanten sein. Raster-Ausgaben aus Map Algebra-Ausdrücken sind immer temporär, können jedoch durch Aufrufen der Methode save für das Raster-Objekt gespeichert werden. Sie können Raster-Objekte abfragen, um einfach auf die Eigenschaften des referenzierten Datasets zuzugreifen.
Erstellen eines Raster-Objekts
Raster-Objekte werden entweder durch Bearbeitung eines Raster-Datasets oder als Ausgabe von Werkzeugen in der Erweiterung "ArcGIS Spatial Analyst" erstellt. Durch die Bearbeitung eines Rasters kann das Raster-Dataset nach vielen Eigenschaften abgefragt werden.
Geben Sie zur Erstellung eines
Raster-Objekts einen Layer-Namen oder Pfad und einen Dataset-Namen ein wie in folgendem Beispiel dargestellt:rasObject = Raster("C:/Data/elevation")In dieser Anweisung sind die Eigenschaften des Raster-Datasets "elevation" jetzt über das resultierende
Raster-Objekt (rasObject) verfügbar.Raster-Objekte werden als linke Ausgabe aus Spatial Analyst Tools erstellt.# rasObject is a Raster object pointing to a temporary # raster dataset rasObject = Slope("C:/Data/elevation")Hinweis:
Werkzeuge außerhalb der Toolboxes "Spatial Analyst" und "Image Analyst" geben keine
Raster-Objekte zurück.
Save-Methode für Raster
Sie können das mit dem Raster-Objekt verknüpfte Raster mit der save-Methode speichern.
Mit Spatial Analyst Tools werden temporäre Ausgaben erzeugt. Sie können diese Ausgaben mit der save-Methode des Raster-Objekts speichern. Im folgenden Beispiel wird die temporäre Ausgabe aus dem Werkzeug Neigung in einem angegebenen Ausgabeordner gespeichert:
outraster = Slope("C:/Data/elevation")
outraster.save("C:/output/sloperaster")
Der Speicherort der Daten richtet sich nach der Eingabe in die Methode
saveund den angegebenen Workspace-Umgebungen.Wird der vollständige Pfad mit Dataset-Name angegeben, werden die dauerhaften Daten an diesem Speicherort gespeichert.
Wird nur ein Dataset-Name angegeben, wird der Speicherort der gespeicherten Daten durch die Geoverarbeitungs-Workspace-Umgebungen definiert.
Ist der Scratch- oder der aktuelle Workspace festgelegt, werden die gespeicherten Daten an dem Speicherort des angegebenen Workspace gespeichert.
Sind der Scratch- und der aktuelle Workspace festgelegt, werden die gespeicherten Daten im aktuellen Workspace gespeichert.
Ist kein Workspace angegeben, wird ein Fehler ausgegeben.
Um die Daten mit dem Standardnamen an dem bestehenden Speicherort beizubehalten, rufen Sie die Methode
saveauf, ohne einen Namen anzugeben, wie im folgenden Beispiel gezeigt:outraster.save()In der Methode
savewerden alle von Spatial Analyst unterstützten Ausgabeformate für Raster-Daten unterstützt. Im folgenden Beispiel wird die Raster-Methodesavezum Speichern von Daten in einem File-Geodatabase-Raster und in einem TIFF-Format-Raster verwendet.outraster.save("C:/output/file_gdb.gdb/sloperaster") outraster.save("C:/output/sloperaster.tif")
Arbeiten mit Raster-Eigenschaften
Wird ein Raster als Raster-Objekt bearbeitet, können Sie Eigenschaften aus dem Dataset abrufen. Alle Raster-Objekteigenschaften sind schreibgeschützt. Mit der Abfrage einer Raster-Eigenschaft werden eine Zeichenfolge, eine Zahl oder ein Objekt zurückgegeben. Raster-Eigenschaften können auf verschiedene Weise verwendet werden, zum Beispiel als Eingabe für einen Werkzeugparameter oder für die Festlegung einer Umgebungseinstellung (wie nachfolgend dargestellt):
from arcpy import env
from arcpy.sa import *
outraster = Raster("C:/Data/studyarea")
myextent = outraster.extent
# Modify myextent as necessary for your workflow and use it to set the extent environment
env.extent = myextent
Hinweis:
Die vom Raster-Objekt verfügbaren Raster-Eigenschaften sind eine Kombination aus Eigenschaften, die auch über die Funktion Describe (Raster-Dataset-Eigenschaften) und über das Werkzeug Raster-Eigenschaften abrufen abgerufen werden können.