Arbeiten mit Raster-Objekten
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. Raster-Objekte können abgefragt werden, 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 ArcGIS Spatial Analyst-Werkzeugen erstellt. Durch die Bearbeitung eines Rasters kann das Raster-Dataset einfach 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.In voranstehender Anweisung sind die Eigenschaften des Raster-Datasets elevation jetzt über das resultierende Raster-Objekt (rasObject) verfügbar. Eine Liste der Eigenschaften für Raster-Objekte finden Sie unter Eine vollständige Liste der Raster-Objekt-Eigenschaften.
rasObject = Raster("C:/Data/elevation")
- Raster-Objekte werden als linke Ausgabe aus ArcGIS Spatial Analyst-Werkzeugen erstellt.
# rasObject is a Raster object pointing to a temporary # raster dataset rasObject = Slope("C:/Data/elevation")
Hinweis:Nicht im "ArcGIS Spatial Analyst"-Toolset enthaltene Werkzeuge geben keine Raster-Objekte aus.
Save-Methode für Raster
Das mit dem Raster-Objekt verknüpfte Raster kann mit der Methode save gespeichert werden.
Mit ArcGIS Spatial Analyst-Werkzeugen werden temporäre Ausgaben erzeugt. Diese Ausgaben können mit der Methode save des Raster-Objekts gespeichert werden. In dem Beispiel unten 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 save und 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.
- Möchten Sie die Daten einfach mit dem Standardnamen an dem bestehenden Speicherort beibehalten, rufen Sie die Methode save auf, ohne einen Namen anzugeben, wie in nachstehendem Beispiel gezeigt:
outraster.save()
- Mit der Methode save werden alle von ArcGIS Spatial Analyst unterstützten Raster-Formate unterstützt. Im nachstehenden Beispiel wird die Raster-Methode save zum Speichern von Daten in einem File-Geodatabase-Raster und im IMAGINE-Format verwendet.
outraster.save("C:/output/file_gdb.gdb/sloperaster") outraster.save("C:/output/sloperaster.img")
Arbeiten mit Raster-Eigenschaften
Wird ein Raster als Raster-Objekt bearbeitet, können Eigenschaften einfach aus dem Dataset abgerufen werden. 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
Die außerhalb des Raster-Objekts 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.