IDW (Spatial Analyst)
Zusammenfassung
Interpoliert eine Raster-Oberfläche anhand von Punkten mittels IDW (Inverse Distance Weighting).
Verwendung
-
Der Ausgabewert einer Zelle bei Verwendung von IDW (Inverse Distance Weighting) ist auf den Bereich der Werte begrenzt, die zum Interpolieren verwendet werden. Da "IDW" ein gewichteter Entfernungsdurchschnitt ist, kann der Durchschnitt nicht größer als die höchste und nicht kleiner als die niedrigste Eingabe sein. Aus diesem Grund kann die Funktion keine Bergrücken oder Täler erstellen, wenn diese Extreme nicht bereits erfasst wurden (Watson und Philip, 1985).
-
Die besten Ergebnisse mit "IDW" werden erzielt, wenn die Referenzpunkterfassung hinsichtlich der lokalen Variation ausreichend dicht ist, die Sie zu simulieren versuchen. Wenn die Erfassung von Eingabepunkten verstreut oder ungleichmäßig ist, bilden die Ergebnisse unter Umständen die gewünschte Oberfläche nicht ausreichend ab (Watson und Philip, 1985).
-
Der Einfluss eines Eingabepunktes auf einen interpolierten Wert ist isotrop. Da der Einfluss eines Eingabepunktes auf einen interpolierten Wert entfernungsbezogen ist, ist IDW nicht werterhaltend (Philip und Watson, 1982).
-
Einige Eingabe-Datasets weisen mehrere Punkte mit denselben XY-Koordinaten auf. Wenn die Werte der Punkte an der gemeinsamen Position identisch sind, werden sie als Duplikate betrachtet und haben keinerlei Auswirkung auf die Ausgabe. Falls die Werte nicht identisch sind, werden sie als lagegleiche Punkte betrachtet.
Die verschiedenen Interpolationswerkzeuge verarbeiten diese Datenbedingung möglicherweise unterschiedlich. In einigen Fällen wird beispielsweise der erste lagegleiche Punkt für die Berechnung verwendet, während in anderen Fällen der letzte Punkt verwendet wird. Dies kann dazu führen, dass einige Positionen im Ausgabe-Raster andere Werte enthalten als Sie erwarten. Die Lösung besteht darin, Ihre Daten vorzubereiten, indem Sie diese lagegleichen Punkte entfernen. Das Werkzeug Ereignisse erfassen in der Toolbox "Spatial Statistics" unterstützt Sie bei der Ermittlung aller lagegleichen Punkte in Ihren Daten.
-
Die Option "Eingabe-Barriere: Polylinien-Features" dient der Angabe der Position linearer Features, die bekanntermaßen die Kontinuität einer Oberfläche unterbrechen. Diese Features haben keine Z-Werte. Klippen, Verwerfungen und Dämme sind typische Beispiele für Barrieren. Barrieren beschränken die ausgewählte Menge der Eingabereferenzpunkte zum Interpolieren von Z-Werten auf diejenigen Referenzpunkte, die sich auf derselben Seite der Barriere wie die aktuell bearbeitete Zelle befinden. Die Trennung durch eine Barriere wird mithilfe einer Sichtfeldanalyse zwischen jedem Punktepaar bestimmt. Dies bedeutet, dass die topologische Trennung für zwei Punkte nicht erforderlich ist, um diese aus dem gegenseitigen Einflussbereich auszuschließen. Eingabereferenzpunkte, die sich exakt auf der Trennlinie befinden, werden in die ausgewählte Referenzmenge für beide Seiten der Barriere einbezogen.
-
Barrieren-Features werden als Polylinien-Features eingegeben. Die Funktion IDW verwendet für das lineare Feature die XY-Koordinaten. Daher ist es nicht erforderlich, Z-Werte für die linke und rechte Seite der Barriere anzugeben. Angegebene Z-Werte werden ignoriert.
-
Durch das Verwenden von Barrieren erhöht sich die Verarbeitungsdauer beträchtlich.
-
Die Begrenzung für dieses Werkzeug liegt bei etwa 45 Millionen Eingabepunkten. Wenn die Eingabe-Feature-Class mehr als 45 Millionen Punkte enthält, erzielen Sie mit diesem Werkzeug kein Ergebnis. Um dies zu vermeiden, können Sie das Untersuchungsgebiet in mehreren Teilen interpolieren, wobei Sie sicherstellen, dass die Kanten bis zu einem gewissen Grad überlappen. Anschließend können Sie die Ergebnisse mosaikartig in einem großen Raster-Dataset zusammenfassen. Alternativ können Sie ein Terrain-Dataset zum Speichern und Visualisieren von Punkten und Oberflächen, die Milliarden von Messpunkten enthalten, verwenden.
Wenn Sie über die Erweiterung "Geostatistical Analyst" verfügen, sind Sie möglicherweise in der Lage, größere Datasets zu verarbeiten.
-
Die Eingabe-Feature-Daten müssen mindestens ein gültiges Feld enthalten.
Syntax
Parameter | Erläuterung | Datentyp |
in_point_features |
Die Eingabe-Punkt-Features mit den Z-Werten, die in ein Oberflächen-Raster interpoliert werden. | Feature Layer |
z_field |
Ein Feld mit einem Höhen- oder Größenwert für jeden Punkt. Dies kann ein Zahlenfeld oder das Shape-Feld sein, wenn die Eingabe-Punkt-Features Z-Werte enthalten. | Field |
cell_size (optional) |
Die Zellengröße im zu erstellenden Ausgabe-Raster. Dies ist der Wert in der Umgebung, wenn dieser explizit festgelegt wurde. Andernfalls wird die Breite oder Höhe (der kleinere Wert von beiden) der Ausdehnung der Eingabe-Punkt-Features im Eingaberaumbezug dividiert durch 250 verwendet. | Analysis Cell Size |
power (optional) |
Der Exponent der Entfernung. Bestimmt die Bedeutung der umgebenden Punkte für den interpolierten Wert. Bei Wahl einer höheren Potenz haben entfernte Punkte weniger Einfluss. Sie können jede reelle Zahl größer als 0 verwenden. Die besten Ergebnisse liefern jedoch Werte von 0,5 bis 3. Der Standardwert ist 2. | Double |
search_radius (optional) |
Die Klasse Radius definiert, welcher der Eingabepunkte zum Interpolieren des Wertes jeder Zelle im Ausgabe-Raster verwendet wird. Es gibt zwei Typen von Radiusklassen: RadiusVariable und RadiusFixed. Es wird ein variabler Suchradius verwendet, um eine bestimmte Anzahl von Eingabereferenzpunkten für die Interpolation zu finden. Der Typ "Fest" verwendet eine bestimmte feste Entfernung, innerhalb der alle Eingabepunkte für die Interpolation verwendet werden. Standardmäßig wird der Typ "Variabel" verwendet.
| Radius |
in_barrier_polyline_features (optional) |
Polylinien-Features, die als Bruchkante oder Barriere verwendet werden sollen, um die Suche nach Eingabereferenzpunkten zu begrenzen. | Feature Layer |
Rückgabewert
Name | Erläuterung | Datentyp |
out_raster |
Das Ausgabe-Raster für die interpolierte Oberfläche. | Raster |
Codebeispiel
In diesem Beispiel wird ein Punkt-Shapefile eingegeben und die Ausgabeoberfläche als TIFF-Raster interpoliert.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outIDW = Idw("ozone_pts.shp", "ozone", 2000, 2, RadiusVariable(10, 150000))
outIDW.save("C:/sapyexamples/output/idwout.tif")
In diesem Beispiel wird ein Punkt-Shapefile eingegeben und die Ausgabeoberfläche als Grid-Raster interpoliert.
# Name: IDW_Ex_02.py
# Description: Interpolate a series of point features onto a rectangular
# raster using Inverse Distance Weighting (IDW).
# 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
inPointFeatures = "ca_ozone_pts.shp"
zField = "ozone"
cellSize = 2000.0
power = 2
searchRadius = RadiusVariable(10, 150000)
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute IDW
outIDW = Idw(inPointFeatures, zField, cellSize, power, searchRadius)
# Save the output
outIDW.save("C:/sapyexamples/output/idwout02")