Nach Maske extrahieren (Spatial Analyst)

Mit der Spatial Analyst-Lizenz verfügbar.

Zusammenfassung

Extrahiert die Zellen eines Rasters, die den mit einer Maske definierten Flächen entsprechen.

Abbildung

Abbildung zum Werkzeug "Nach Maske extrahieren"
OutRas = ExtractByMask(InRas1, InMsk1, "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-Wert (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 Raster-Dataset, das aus den betreffenden Bändern besteht. Verwenden Sie dann das Ergebnis als Eingabe-Raster-Wert (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.

  • Wenn ein Multiband-Raster für die Eingabe-Raster-Maske angegeben wird, wird nur das erste Band im Vorgang verwendet.

  • Wenn der Wert für Eingabe-Raster (in_raster in Python) und die unter Eingabe-Raster oder -Feature-Masken-Daten angegebenen Raster-Daten (in_mask_data in Python) dieselbe Zellengröße aufweisen und die Zellen ausgerichtet sind, werden sie direkt im Werkzeug verwendet. Während der Werkzeugausführung wird kein internes Resampling durchgeführt.

    Bei Abweichungen der Zellengröße entspricht die Ausgabezellengröße dem Maximum der Eingabedaten. In diesem Fall wird der Wert Eingabe-Raster intern als Fang-Raster verwendet. Wenn die Zellengröße übereinstimmt, die Zellen jedoch nicht ausgerichtet sind, wird der Wert für das Eingabe-Raster intern als Fang-Raster verwendet. In beiden Fällen wird ein internes Resampling ausgelöst, bevor der Extraktionsvorgang ausgeführt wird.

    Weitere Informationen finden Sie in den Themen Zellengröße und Fang-Raster zur Umgebung.

  • Wenn die Maskeneingabe ein Feature ist, wird sie intern in ein Raster konvertiert, wobei standardmäßig die Zellengröße und die Zellenausrichtung (Fang-Raster) aus dem Eingabe-Raster verwendet werden.

  • Wenn während der Ausführung des Werkzeugs Nach Maske extrahieren in der Umgebungseinstellung Maske angegeben wird, weist das Ausgabe-Raster lediglich Zellenwerte für die Fläche auf, die im Schnittpunkt der Daten für die Umgebungsmaske und die Eingabemaske liegt.

  • Sie können den Parameter Analyseausdehnung (analysis_extent in Python) verwenden, um den Ausgabe-Analysebereich explizit für die Ausführung eines eigenständigen Werkzeugs anzugeben oder die Umgebungseinstellung im Rahmen eines Workflows außer Kraft zu setzen. Sie können die Ausdehnung angeben, indem Sie Werte eingeben, die Anzeigeausdehnung wählen, einen Layer auswählen oder nach einem Eingabe-Dataset suchen.

  • Der Standardwert für die Analyseausdehnung wird anhand des Schnittpunktes zwischen dem Wert für Eingabe-Raster und dem Wert für Eingabe-Raster oder -Feature-Masken-Daten berechnet.

  • Wenn die Analyseausdehnung nicht explizit als Parameterwert angegeben wird, wird sie aus den Umgebungseinstellungen der Analyse abgeleitet.

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

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Raster

Das Eingabe-Raster, aus dem Zellen extrahiert werden.

Raster Layer
Eingabe-Raster oder -Feature-Masken-Daten

Die Eingabemaskendaten, die die zu extrahierenden Zellenpositionen definieren.

Hierbei kann es sich um ein Raster oder ein Feature-Dataset handeln.

Wenn es sich bei den Eingabemaskendaten um ein Raster handelt, werden NoData-Zellen in der Maske NoData-Werte im Ausgabe-Raster zugewiesen.

Wenn es sich bei der Eingabemaske um Feature-Daten handelt, werden Zellen in dem Eingabe-Raster, dessen Mittelpunkt in der angegebenen Form des Features liegt, in die Ausgabe aufgenommen, während Zellen mit außerhalb liegendem Mittelpunkt NoData-Werte erhalten.

Raster Layer; Feature Layer
Zu extrahierende Fläche
(optional)

Gibt an, ob die Zellen innerhalb oder außerhalb der durch die Eingabemaske definierten Positionen ausgewählt und in das Ausgabe-Raster geschrieben werden.

  • InnerhalbZellen innerhalb der Eingabemaske werden ausgewählt und in das Ausgabe-Raster geschrieben. Alle Zellen außerhalb der Maske erhalten NoData-Werte im Ausgabe-Raster. Dies ist die Standardeinstellung.
  • AußerhalbZellen außerhalb der Eingabemaske werden ausgewählt und in das Ausgabe-Raster geschrieben. Alle durch die Maske verdeckten Zellen erhalten NoData-Werte.
String
Analyseausdehnung
(optional)

Die Ausdehnung, die den zu extrahierenden Bereich definiert.

Die Ausdehnung wird standardmäßig anhand des Schnittpunktes zwischen dem Wert für Eingabe-Raster und dem Wert für Eingabe-Raster oder -Feature-Masken-Daten berechnet. Die Verarbeitung erstreckt sich bis zu den XY-Grenzen. Zellen außerhalb dieser Ausdehnung sind "NoData".

Die Parameter, die durch die Nach-links- und Nach-unten-Pfeile gekennzeichnet sind, definieren die untere linke Koordinate des zu extrahierenden Bereichs, und die Parameter, die durch die Nach-rechts- und Nach-oben-Pfeile gekennzeichnet sind, definieren die obere rechte Koordinate.

Die Koordinaten werden in den gleichen Karteneinheiten angegeben wie das Eingabe-Raster, sofern in der Analyseumgebung nichts explizit festgelegt wurde.

Extent

Rückgabewert

BeschriftungErläuterungDatentyp
Ausgabe-Raster

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

Raster

ExtractByMask(in_raster, in_mask_data, {extraction_area}, {analysis_extent})
NameErläuterungDatentyp
in_raster

Das Eingabe-Raster, aus dem Zellen extrahiert werden.

Raster Layer
in_mask_data

Die Eingabemaskendaten, die die zu extrahierenden Zellenpositionen definieren.

Hierbei kann es sich um ein Raster oder ein Feature-Dataset handeln.

Wenn es sich bei den Eingabemaskendaten um ein Raster handelt, werden NoData-Zellen in der Maske NoData-Werte im Ausgabe-Raster zugewiesen.

Wenn es sich bei der Eingabemaske um Feature-Daten handelt, werden Zellen in dem Eingabe-Raster, dessen Mittelpunkt in der angegebenen Form des Features liegt, in die Ausgabe aufgenommen, während Zellen mit außerhalb liegendem Mittelpunkt NoData-Werte erhalten.

Raster Layer; Feature Layer
extraction_area
(optional)

Gibt an, ob die Zellen innerhalb oder außerhalb der durch die Eingabemaske definierten Positionen ausgewählt und in das Ausgabe-Raster geschrieben werden.

  • INSIDEZellen innerhalb der Eingabemaske werden ausgewählt und in das Ausgabe-Raster geschrieben. Alle Zellen außerhalb der Maske erhalten NoData-Werte im Ausgabe-Raster. Dies ist die Standardeinstellung.
  • OUTSIDEZellen außerhalb der Eingabemaske werden ausgewählt und in das Ausgabe-Raster geschrieben. Alle durch die Maske verdeckten Zellen erhalten NoData-Werte.
String
analysis_extent
(optional)

Die Klasse Extent gibt die Ausdehnung des Ausgabe-Raster-Datasets an.

Die Klasse Extent weist folgendes Format auf:

  • Extent (XMin, YMin, XMax, YMax)

    Dabei gilt:

    • XMin: Der XMin-Wert der Ausdehnung
    • YMin: Der YMin-Wert der Ausdehnung
    • XMax: Der XMax-Wert der Ausdehnung
    • YMax: Der YMax-Wert der Ausdehnung

Wird nichts angegeben, ist die Standardausdehnung der Schnittpunkt zwischen dem Wert in_raster und dem Wert in_mask_data.

Die Koordinaten werden in den gleichen Karteneinheiten angegeben wie das Eingabe-Raster, sofern in der Analyseumgebung nichts explizit festgelegt wurde.

Extent

Rückgabewert

NameErläuterungDatentyp
out_raster

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

Raster

Codebeispiel

ExtractByMask – Beispiel 1 (Python-Fenster)

In diesem Beispiel werden Zellen aus einem Raster innerhalb einer Maske extrahiert, die durch eine Eingabe-Feature-Class für Polygon-Shapefiles definiert ist.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outExtractByMask = ExtractByMask("elevation", "mask.shp", "INSIDE")
outExtractByMask.save("C:/sapyexamples/output/maskextract")
ExtractByMask – Beispiel 2 (eigenständiges Skript)

In diesem Beispiel werden Zellen aus einem Raster für alle Bereiche außerhalb einer Maske extrahiert, die durch eine Eingabe-Feature-Class für Polygon-Shapefiles definiert ist. Die Ausgabe-Ausdehnung des Eingabe-Rasters wird beibehalten.

# Name: ExtractByMask_Ex_02.py
# Description: Extracts the cells of a elevation raster for all areas outside of the mask features.
#     Keeping the output extent of the input elevation raster. 
# 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"
inMaskData = "mask.shp"
extraction_area = "OUTSIDE"
analysis_extent = "elevation"


# Execute ExtractByMask
outExtractByMask = ExtractByMask(inRaster, inMaskData, extraction_area, analysis_extent)

# Save the output 
outExtractByMask.save("C:/sapyexamples/output/extractmask")

Lizenzinformationen

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

Verwandte Themen