Nächster Nachbar 3D (Geostatistical Analyst)

Mit der Geostatistical Analyst-Lizenz verfügbar.

Zusammenfassung

Erstellt eine Voxel-Layer-Quelldatei (netCDF) aus kategorischen 3D-Punkten, indem jedem Voxel die Kategorie des nächsten Nachbarn in 3D zugewiesen wird.

Weitere Informationen zu Voxel-Layern

Abbildung

Abbildung des Werkzeugs "Nächster Nachbar 3D"
Ein Voxel-Layer zeigt die Boden- und Steinklassen des nächsten 3D-Punktes an.

Verwendung

  • Der Parameter Ausgabe-netCDF-Datei fügt der Karte oder Szene nicht automatisch Layer hinzu. Wenn die Ausgabe als Voxel-Layer dargestellt werden soll, dann muss er mit dem horizontalen und vertikalen Koordinatensystem der netCDF-Datei einer lokalen Szene hinzugefügt werden. Er kann auch mit dem Werkzeug NetCDF-Feature-Layer erstellen oder mit dem Werkzeug NetCDF-Raster-Layer erstellen als Feature- bzw. Raster-Layer in einer Karte oder Szene hinzugefügt werden.

  • Die Eingabe-Features müssen 3D-Punkte mit Höhen sein, die im Geometrieattribut Shape.Z gespeichert sind. Mit dem Werkzeug Feature in 3D nach Attribut können Sie 2D-Punkt-Features mit einem Höhenfeld in 3D-Punkt-Features konvertieren.

    Es wird empfohlen, dass die Eingabe-Features ein vertikales Koordinatensystem verwenden, das die Z-Koordinaten genau definiert. Sie können den Punkten mit dem Werkzeug Projektion definieren ein vertikales Koordinatensystem zuweisen.

  • Wenn im Parameter Kategoriefelder mehrere Felder angegeben werden, enthält die Ausgabe-netCDF-Datei eine separate Variable für jedes Feld. Jede Variable heißt genauso wie das Kategoriefeld. Sie können die Variable in einer Szene anzeigen, wenn Sie den Voxel-Layer zu einer Szene hinzufügen.

    Sie können zum Beispiel ein Feld für die Bodenklassen (Schiefer, Sand, Ton usw.) und ein zweites Feld für die Bodenfarbe angeben. Jedes Voxel in der Ausgabe-netCDF-Datei enthält dann die Bodenklasse und die Bodenfarbe des nächsten Nachbarn.

  • Mit den Parametern Eingabe-Untersuchungsgebiet-Polygone, Ausschneide-Raster für minimale Höhe und Ausschneide-Raster für maximale Höhe kann die Analyse auf ein bestimmtes Untersuchungsgebiet und zwischen zwei Höhenoberflächen begrenzt werden. Alle Voxel außerhalb dieser Grenzen haben keine Kategorie und werden nicht angezeigt. Wenn die Punkte beispielsweise Bodenklassen innerhalb einer Wohnsiedlung repräsentieren, können Sie einen Voxel-Layer erstellen, der nur innerhalb eines Polygons einer Siedlung (Untersuchungsgebiet), über einer Grundgesteinsschicht (Raster für minimale Höhen) und unterirdisch (Raster für maximale Höhe) angezeigt wird.

    Es gibt verschiedene Überlegungen zur Verwendung von Höhenoberflächen als Raster für minimale oder maximale Höhe. Image-Services, Web-Höhen-Layer und Web-Bilddaten-Layer haben die langsamste Performance. Wenn besonders viele Abfragen gestellt werden, können Fehler auftreten. Raster, die als lokale Dateien auf der Festplatte gespeichert werden, haben die schnellste Performance. Sie werden empfohlen, wenn Voxel-Layer mit hoher Auflösung über große räumliche Ausdehnungen erstellt werden sollen.

  • Die Anzahl und der Prozentsatz der Voxel in jeder Kategorie werden als Geoverarbeitungsmeldungen ausgegeben. Voxel mit NULL-Werten (etwa Voxel außerhalb des Eingabe-Untersuchungsgebiet-Polygons) werden bei der Anzahl und den Prozentsätzen nicht berücksichtigt. Wenn es mehrere Kategoriefelder gibt, werden für jedes Feld separate Meldungen ausgegeben.

  • Die Eingabe-Features und die Ausschneideraster für minimale und maximale Höhe müssen sich in einem projizierten Koordinatensystem befinden. Wenn die Punkte oder Raster ein geographisches Koordinatensystem mit Koordinaten für Breitengrad und Längengrad haben, müssen sie mit dem Werkzeug Projizieren oder Raster projizieren projiziert werden.

  • Für jedes Kategoriefeld wird jeder Einzelwert in der Ausgabe-netCDF-Datei als ganze Zahl gespeichert. Nach dem Sortieren der Einzelwerte (in aufsteigender Reihenfolge) wird der ersten Kategorie die ganze Zahl 0 zugewiesen, der nächsten Kategorie die ganze Zahl 1 und so weiter. Wenn sie einer Szene als diskontinuierlicher Voxel-Layer hinzugefügt wird, wendet die Einzelwertsymbolisierung die ursprünglichen Werte des Kategoriefeldes als Beschriftungen auf die Ganzzahlen an.

    Wenn es sich bei den Werten eines Kategoriefeldes um ganze Zahlen handelt, unterscheiden sich die Ganzzahlen, die die Kategorien in der netCDF-Datei repräsentieren, normalerweise von den ursprünglichen Ganzzahlen im Kategoriefeld. Anhand der Symbolisierungsbeschriftungen des Voxel-Layers können die ursprünglichen Ganzzahlkategorien ermittelt werden.

  • Beim Anlegen des 3D-Punktgitters, das die Voxel repräsentiert, wird der erste Punkt an der minimalen X-, minimalen Y- und minimalen Z-Koordinate der Ausgabeausdehnung erstellt (standardmäßig die Ausdehnung der Eingabe-Features). Die verbleibenden Punkte werden erstellt, indem unter Verwendung der Parameter X-Abstand, Y-Abstand, und Höhenabstand die Entfernungen in den einzelnen Dimensionen der Ausgabeausdehnung iterativ durchlaufen werden. Wenn sich mit einem dieser Abstände die entsprechende Dimension der Ausgabeausdehnung nicht gleichmäßig aufteilen lässt, wird jenseits der Ausgabeausdehnung eine Zeile oder Spalte mit Punkten erstellt. Wenn zum Beispiel für X die Ausgabeausdehnung 0 bis 10 angegeben wurde und der Parameter X-Abstand auf 3 festgelegt wurde, dann enthält die Ausgabe fünf Zeilen in der X-Ausdehnung: 0, 3, 6, 9 und 12. Wenn sich mit den Abständen die X- oder die Y-Ausdehnung nicht gleichmäßig aufteilen lässt, wird eine zusätzliche Zeile bzw. Spalte mit Punkten erstellt.

  • Wenn Eingabe-Untersuchungsgebiet-Polygone angegeben wurden, dann wird die Ausdehnung des Untersuchungsgebiets als Standard-Ausgabeausdehnung verwendet. Anschließend werden basierend auf dieser Ausdehnung die Werte der Parameter X-Abstand und Y-Abstand neu berechnet. Dadurch wird sichergestellt, dass die Ausgabe standardmäßig das gesamte Untersuchungsgebiet ausfüllt.

  • Wenn die Eingabe-Features lagegleiche Punkte enthalten (Punkte mit denselben X-, Y- und Z-Koordinaten), die unterschiedliche Werte im Kategoriefeld haben, wird die erste alphanumerische Kategorie an der Position verwendet.

  • Wenn die Eingabe-Features eine Auswahl haben, werden die Parameter X-Abstand, Y-Abstand und Höhenabstand neu berechnet, während das Werkzeug ausgeführt wird, basierend auf der Ausdehnung der selektierten Features. Die neu berechneten Werte werden als Warnmeldungen ausgedruckt, wenn das Werkzeug beendet wird. Wenn Sie einen Wert für einen Abstandsparameter manuell angeben (oder eine Ausgabeausdehnung angeben), wird der Wert nicht neu berechnet.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Features

Die Eingabepunkte, die die Positionen mit bekannten Kategorien in 3D darstellen. Die Punkte müssen sich in einem projizierten Koordinatensystem befinden, und es müssen mindestens drei Punkte vorhanden sein.

Feature Layer
Kategoriefelder

Die Felder der Eingabe-Features, welche die Kategorien für jeden Punkt enthalten. Für jedes Feld repräsentieren die Einzelwerte des Feldes die Kategorien des Feldes. Jedes Feld muss vom Typ "Short Integer", "Long Integer" oder "Text" sein.

Sie können zum Beispiel ein Feld für die Bodenklassen (Schiefer, Sand, Ton usw.) und ein zweites Feld für die Bodenfarbe angeben (gelb, braun, weiß usw.). Jedes Voxel in der Ausgabe-netCDF-Datei speichert die nächste Bodenklasse und die Bodenfarbe als separate Variablen.

Field
Ausgabe-netCDF-Datei

Die Ausgabe-netCDF-Datei, die Kategorien in einem 3D-Gitternetz enthält. Jedem Punkt im 3D-Gitternetz wird die Kategorie des nächsten Eingabepunktes zugewiesen. Diese Datei kann als Datenquelle eines Voxel-Layers verwendet werden.

File
X-Abstand
(optional)

Der Abstand zwischen den einzelnen Gitterpunkten in der X-Dimension. Mit dem Standardwert werden 40 Punkte entlang der X-Ausdehnung der Ausgabe erstellt.

Linear Unit
Y-Abstand
(optional)

Der Abstand zwischen den einzelnen Gitterpunkten in der Y-Dimension. Mit dem Standardwert werden 40 Punkte entlang der Y-Ausdehnung der Ausgabe erstellt.

Linear Unit
Höhenabstand
(optional)

Der Abstand zwischen den einzelnen Gitterpunkten in der Höhendimension (Z). Mit dem Standardwert werden 40 Punkte entlang der Z-Ausdehnung der Ausgabe erstellt.

Linear Unit
Höheninflationsfaktor
(optional)

Ein konstanter Wert, der vor dem Suchen des nächsten Nachbarn mit der Höhe (Z-Koordinaten) der Eingabepunkte multipliziert wird. Bei Werten über 1 wird weiter horizontal als vertikal nach dem nächsten Nachbarn gesucht. Ein Wert von 10 bedeutet zum Beispiel, dass jedes Voxel 10-mal weiter horizontal als vertikal sucht, um den nächsten Nachbarn zu finden. Der Standardwert ist 1. Das bedeutet, dass die Höhen nicht angepasst sind. Der Wert muss zwischen 1 und 1.000 liegen.

Die Höheninflation wird nur verwendet, um den nächsten Nachbarn zu finden, und alle Höhen werden auf den ursprünglichen Maßstab zurückgesetzt, bevor die Ausgabe-netCDF-Datei erstellt wird. Die Höheninflation wird empfohlen, wenn die Kategorien der Eingabepunkte entlang der horizontalen Schichten ähnlich sind, z. B. bei Bodenklassen und Gesteinsarten.

Double
Eingabe-Untersuchungsgebiet-Polygone
(optional)

Die Polygon-Features, die das Untersuchungsgebiet darstellen. In der Ausgabe-netCDF-Datei werden nur die Punkte gespeichert, die sich innerhalb des Untersuchungsgebietes befinden. Bei Visualisierung als Voxel-Layer werden nur die Voxel innerhalb des Untersuchungsgebietes in der Szene dargestellt. Ob sich Punkte innerhalb oder außerhalb des Untersuchungsgebietes befinden, wird anhand ihrer X- und Y-Koordinaten bestimmt.

Feature Layer
Ausschneide-Raster für minimale Höhe
(optional)

Das zum Ausschneiden des unteren Teils des Voxel-Layers verwendete Höhenraster. Nur Voxeln über diesem Höhenraster werden Kategorien zugewiesen. Wenn Sie z. B. ein Geländehöhenraster verwenden, wird der Voxel-Layer nur oberirdisch angezeigt. Es kann auch für die Oberfläche von Grundgestein oder den Boden einer Schiefer-Lagerstätte verwendet werden.

Das Raster muss sich in einem projizierten Koordinatensystem befinden, und die Höhenwerte müssen in derselben Einheit vorliegen wie die vertikale Einheit des Rasters.

Raster Layer
Ausschneide-Raster für maximale Höhe
(optional)

Das zum Ausschneiden des oberen Teils des Voxel-Layers verwendete Höhenraster. Nur Voxeln unter diesem Höhenraster werden Kategorien zugewiesen. Wenn Sie z. B. ein Geländehöhenraster verwenden, wird der Voxel-Layer nur unterirdisch angezeigt. Es kann auch zum Ausschneiden von Voxeln oberhalb eines eingeschränkten Luftraums verwendet werden.

Das Raster muss sich in einem projizierten Koordinatensystem befinden, und die Höhenwerte müssen in derselben Einheit vorliegen wie die vertikale Einheit des Rasters.

Raster Layer

arcpy.ga.NearestNeighbor3D(in_features, category_field, out_netcdf_file, {x_spacing}, {y_spacing}, {elevation_spacing}, {elev_inflation_factor}, {in_study_area}, {min_elev_raster}, {max_elev_raster})
NameErläuterungDatentyp
in_features

Die Eingabepunkte, die die Positionen mit bekannten Kategorien in 3D darstellen. Die Punkte müssen sich in einem projizierten Koordinatensystem befinden, und es müssen mindestens drei Punkte vorhanden sein.

Feature Layer
category_field
[category_field,...]

Die Felder der Eingabe-Features, welche die Kategorien für jeden Punkt enthalten. Für jedes Feld repräsentieren die Einzelwerte des Feldes die Kategorien des Feldes. Jedes Feld muss vom Typ "Short Integer", "Long Integer" oder "Text" sein.

Sie können zum Beispiel ein Feld für die Bodenklassen (Schiefer, Sand, Ton usw.) und ein zweites Feld für die Bodenfarbe angeben (gelb, braun, weiß usw.). Jedes Voxel in der Ausgabe-netCDF-Datei speichert die nächste Bodenklasse und die Bodenfarbe als separate Variablen.

Field
out_netcdf_file

Die Ausgabe-netCDF-Datei, die Kategorien in einem 3D-Gitternetz enthält. Jedem Punkt im 3D-Gitternetz wird die Kategorie des nächsten Eingabepunktes zugewiesen. Diese Datei kann als Datenquelle eines Voxel-Layers verwendet werden.

File
x_spacing
(optional)

Der Abstand zwischen den einzelnen Gitterpunkten in der X-Dimension. Mit dem Standardwert werden 40 Punkte entlang der X-Ausdehnung der Ausgabe erstellt.

Linear Unit
y_spacing
(optional)

Der Abstand zwischen den einzelnen Gitterpunkten in der Y-Dimension. Mit dem Standardwert werden 40 Punkte entlang der Y-Ausdehnung der Ausgabe erstellt.

Linear Unit
elevation_spacing
(optional)

Der Abstand zwischen den einzelnen Gitterpunkten in der Höhendimension (Z). Mit dem Standardwert werden 40 Punkte entlang der Z-Ausdehnung der Ausgabe erstellt.

Linear Unit
elev_inflation_factor
(optional)

Ein konstanter Wert, der vor dem Suchen des nächsten Nachbarn mit der Höhe (Z-Koordinaten) der Eingabepunkte multipliziert wird. Bei Werten über 1 wird weiter horizontal als vertikal nach dem nächsten Nachbarn gesucht. Ein Wert von 10 bedeutet zum Beispiel, dass jedes Voxel 10-mal weiter horizontal als vertikal sucht, um den nächsten Nachbarn zu finden. Der Standardwert ist 1. Das bedeutet, dass die Höhen nicht angepasst sind. Der Wert muss zwischen 1 und 1.000 liegen.

Die Höheninflation wird nur verwendet, um den nächsten Nachbarn zu finden, und alle Höhen werden auf den ursprünglichen Maßstab zurückgesetzt, bevor die Ausgabe-netCDF-Datei erstellt wird. Die Höheninflation wird empfohlen, wenn die Kategorien der Eingabepunkte entlang der horizontalen Schichten ähnlich sind, z. B. bei Bodenklassen und Gesteinsarten.

Double
in_study_area
(optional)

Die Polygon-Features, die das Untersuchungsgebiet darstellen. In der Ausgabe-netCDF-Datei werden nur die Punkte gespeichert, die sich innerhalb des Untersuchungsgebietes befinden. Bei Visualisierung als Voxel-Layer werden nur die Voxel innerhalb des Untersuchungsgebietes in der Szene dargestellt. Ob sich Punkte innerhalb oder außerhalb des Untersuchungsgebietes befinden, wird anhand ihrer X- und Y-Koordinaten bestimmt.

Feature Layer
min_elev_raster
(optional)

Das zum Ausschneiden des unteren Teils des Voxel-Layers verwendete Höhenraster. Nur Voxeln über diesem Höhenraster werden Kategorien zugewiesen. Wenn Sie z. B. ein Geländehöhenraster verwenden, wird der Voxel-Layer nur oberirdisch angezeigt. Es kann auch für die Oberfläche von Grundgestein oder den Boden einer Schiefer-Lagerstätte verwendet werden.

Das Raster muss sich in einem projizierten Koordinatensystem befinden, und die Höhenwerte müssen in derselben Einheit vorliegen wie die vertikale Einheit des Rasters.

Raster Layer
max_elev_raster
(optional)

Das zum Ausschneiden des oberen Teils des Voxel-Layers verwendete Höhenraster. Nur Voxeln unter diesem Höhenraster werden Kategorien zugewiesen. Wenn Sie z. B. ein Geländehöhenraster verwenden, wird der Voxel-Layer nur unterirdisch angezeigt. Es kann auch zum Ausschneiden von Voxeln oberhalb eines eingeschränkten Luftraums verwendet werden.

Das Raster muss sich in einem projizierten Koordinatensystem befinden, und die Höhenwerte müssen in derselben Einheit vorliegen wie die vertikale Einheit des Rasters.

Raster Layer

Codebeispiel

NearestNeighbor3D: Beispiel 1 (Python-Fenster)

Das folgende Python-Skript veranschaulicht, wie die Funktion NearestNeighbor3D verwendet wird.

# Create a voxel layer source file of 3D soil class points within a field
# and between a bedrock layer and the ground.
arcpy.ga.NearestNeighbor3D("SoilPoints", "SoilClass","outputNCDF.nc",
                           "50 Meters", "50 Meters", "5 Meters", 1,
                           "MyStudyArea", "Bedrock.tif", "WorldElevation3D")
NearestNeighbor3D: Beispiel 2 (eigenständiges Skript)

Das folgende Python-Skript veranschaulicht, wie die Funktion NearestNeighbor3D verwendet wird.

# Name: NearestNeighbor3D_Example_02.py
# Description: Creates a voxel layer source file from 3D categorical points.
# Requirements: Geostatistical Analyst Extension
# Author: Esri


# Create a voxel layer source file of 3D soil class points within a field
# and between a bedrock layer and the ground.



# Import system modules
import arcpy

# Allow overwriting output
arcpy.env.overwriteOutput = True

# Define 3D input points with categories
in3DPoints = "C:/gapydata/inputs.gdb/my3DSoilPoints"
categoryField = "SoilClass"
outNetCDF = "C:/gapydata/outputs/SoilClassVoxel.nc"

# Define voxel dimensions and elevation inflation
xSpacing = "50 Meters"
ySpacing = "50 Meters"
elevSpacing = "5 Meters"
elevInflation = 1

# Define study area, bedrock elevation layer, and ground elevation layer
studyArea = "C:/gapydata/inputs.gdb/StudyAreaPolygon"
minElevRaster = "C:/gapydata/inputs.gdb/BedrockDepth"
maxElevRaster = "C:/gapydata/inputs.gdb/WorldElevationDEM"


# Check out the ArcGIS Geostatistical Analyst extension license
arcpy.CheckOutExtension("GeoStats")

# Execute Nearest Neighbor 3D
arcpy.ga.NearestNeighbor3D(in3DPoints, categoryField,outNetCDF,
                           xSpacing, ySpacing, elevSpacing,
                           elevInflation, studyArea, minElevRaster,
                           maxElevRaster)

Lizenzinformationen

  • Basic: Erfordert Geostatistical Analyst
  • Standard: Erfordert Geostatistical Analyst
  • Advanced: Erfordert Geostatistical Analyst

Verwandte Themen