Mit Rechteck extrahieren (Spatial Analyst)

Mit der Spatial Analyst-Lizenz verfügbar.

Zusammenfassung

Extrahiert die Zellen eines Rasters basierend auf einem Rechteck durch Festlegung der Ausdehnung des Rechtecks.

Abbildung

Abbildung "Mit Rechteck extrahieren"
OutRas = ExtractByRectangle(InRas1, Extent(1, 0, 5, 5), "INSIDE")

Verwendung

  • Zusätzliche Attribute aus dem Eingabe-Raster, sofern vorhanden, werden unverändert in die Attributtabelle des Ausgabe-Rasters übernommen. Je nach Eigenschaft, die erfasst wird, müssen einige der Attributwerte möglicherweise neu berechnet werden.

  • Wenn ein Multiband-Raster als Eingabe-Raster (in_raster in Python) angegeben wird, werden alle Bänder verwendet.

    Wenn eine Auswahl von Bändern aus einem Multiband-Raster verarbeitet werden soll, erstellen Sie zunächst mit dem Werkzeug Bänder zusammensetzen ein neues Raster-Dataset, das aus den betreffenden Bändern besteht. Verwenden Sie dann das Ergebnis als Eingabe-Raster (in_raster in Python).

    Das Standardausgabeformat ist ein Geodatabase-Raster. Wenn ein Esri Grid Stack als Ausgabeformat angegeben wurde, beachten Sie, dass der Stack-Name nicht mit einer Zahl beginnen, keine Leerzeichen enthalten und nicht mehr als 9 Zeichen aufweisen darf.

  • Der Mittelpunkt der Zelle wird verwendet, um zu bestimmen, ob eine Zelle innerhalb oder außerhalb eines Rechtecks liegt. Wenn sich der Mittelpunkt innerhalb der Umrisslinie des Rechtecks befindet, gilt die Zelle als vollständig innerhalb, auch wenn Teile der Zelle außerhalb des Rechtecks liegen.

  • Zellenpositionen, die nicht ausgewählt wurden, wird der Wert "NoData" zugewiesen.

  • Bei einem ganzzahligen Eingabe-Raster ist auch das Ausgabe-Raster ganzzahlig. Wenn die Eingaben Gleitkommawerte sind, ist die Ausgabe ebenfalls ein Gleitkommawert.

  • Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.

Syntax

ExtractByRectangle(in_raster, rectangle, {extraction_area})
ParameterErklärungDatentyp
in_raster

Das Eingabe-Raster, aus dem Zellen extrahiert werden.

Raster Layer
rectangle
extent

Ein Rechteck, das den zu extrahierenden Bereich definiert.

Ein Ausdehnungsobjekt wird verwendet, um die Koordinaten anzugeben.

Das Objekt hat folgendes Format:

  • Extent(XMin, YMin, XMax, YMax)

    dabei definieren XMin und YMin die linken unteren Koordinaten des zu extrahierenden Bereichs und XMax und YMax die rechten oberen Koordinaten.

Die Koordinaten werden in den gleichen Karteneinheiten angegeben wie das Eingabe-Raster.

Extent
extraction_area
(optional)

Gibt an, ob Zellen innerhalb oder außerhalb des Eingaberechtecks extrahiert werden sollen.

  • INSIDE Ein Schlüsselwort, das angibt, dass die Zellen innerhalb des Eingaberechtecks ausgewählt und in das Ausgabe-Raster geschrieben werden sollen. Alle Zellen außerhalb des Rechtecks erhalten NoData-Werte im Ausgabe-Raster.
  • OUTSIDEEin Schlüsselwort, das angibt, dass die Zellen außerhalb des Eingaberechtecks ausgewählt und in das Ausgabe-Raster geschrieben werden sollen. Alle Zellen innerhalb des Rechtecks erhalten NoData-Werte im Ausgabe-Raster.
String

Rückgabewert

NameErklärungDatentyp
out_raster

Das Ausgabe-Raster mit den Zellenwerten, die aus dem Eingabe-Raster extrahiert wurden.

Raster

Codebeispiel

ExtractByRectangle – Beispiel 1 (Python-Fenster)

In diesem Beispiel werden Zellen außerhalb einer rechteckigen Ausdehnung in ein neues Raster extrahiert.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
rectExtract = ExtractByRectangle("elevation", 
                                 Extent(477625, 213900, 486400, 224200), 
                                 "OUTSIDE")
rectExtract.save("c:/sapyexamples/output/extrect")
ExtractByRectangle – Beispiel 2 (eigenständiges Skript)

In diesem Beispiel werden Zellen innerhalb einer rechteckigen Ausdehnung in ein neues Raster extrahiert.

# Name: ExtractByRectangle_Ex_02.py
# Description: 
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRaster = "elevation"
inRectangle = Extent(477625, 213900, 486400, 224200)

# Execute ExtractByRectangle
rectExtract = ExtractByRectangle(inRaster, inRectangle, "INSIDE")

# Save the output 
rectExtract.save("c:/sapyexamples/output/extrect02")

Lizenzinformationen

  • Basic: Erfordert Spatial Analyst
  • Standard: Erfordert Spatial Analyst
  • Advanced: Erfordert Spatial Analyst

Verwandte Themen