Oberflächeninformationen hinzufügen (3D Analyst)

Zusammenfassung

Ordnet Eingabe-Features mit höhenbasierten statistischen Informationen zu, die von den überlappenden Teilen einer Oberfläche abgeleitet wurden.

Verwendung

  • Die Statistik der Oberfläche wird für jede unterstützte Geometrie wie folgt bestimmt:

    • Für Punkte werden Z-Werte von den XY-Koordinaten auf der Oberfläche abgeleitet.
    • Für Linien werden Z-Eigenschaften abgerufen, indem die Oberflächenmesswerte entlang ihrer Länge interpoliert werden.
    • Für Polygone werden Z-Eigenschaften der triangulierten Oberfläche zusammengefasst, die aus der Oberfläche, die das Polygon schneidet, erstellt wurde.

    Kurven in Eingabe-Linien-Features werden unter Verwendung des Parameterwertes Abtastschrittweite in Liniensegmente verdichtet. Wenn keine Abtastschrittweite definiert ist, wird dieser Wert von der Eingabe-Oberfläche abgeleitet. Bei einem Raster entspricht die standardmäßige Abtastschrittweite der Zellengröße des Rasters. Bei einem TIN-, Terrain- oder LAS-Dataset basiert die Standardabtastung auf den Kanten, die von der triangulierten Oberfläche erzeugt werden. Durch das Verdichten von Kurven werden nicht alle Teile einer Kurve genau von den Ausgabewerten erfasst. Wenn die Kurve kürzer als die Abtastschrittweite ist, wird sie mithilfe ihrer Anfangs- und Endpunkte in eine 2-Punkt-Linie vereinfacht.

  • Die Optionen des Parameters Ausgabe-Eigenschaft werden in die Attributtabelle des Eingabe-Features geschrieben. Jedes Feature definiert die Position der bewerteten Oberflächeneigenschaften, und welche Eigenschaften gemeldet werden können, hängt von der Geometrie des Features ab.

    Feature-GeometrieOberflächeneigenschaften

    Punkt

    Aus der XY-Koordinate des Punktes auf der Oberfläche interpolierte SPOT-Höhe

    Multipoint

    Minimum, Maximum und Mittelwert der SPOT-Höhe für alle Punkte im Multipoint-Datensatz

    Polylinie

    3D-Entfernung der Linie entlang der Oberfläche

    Minimum, Maximum und Mittelwert der Höhe und Neigung der Linie entlang der Oberfläche

    Polygon

    3D-Fläche der Oberfläche, die das Polygon überlappt

    Minimum, Maximum und Mittelwert der Höhe und Neigung aus der Oberfläche

  • Neigungswerte werden in Prozenteinheiten (Grad) gemessen und bei Linien-Features für jedes Segment der Linie berechnet.

    • Die minimale Neigung wird aus dem Segment ermittelt, dessen Wert 0 am nächsten ist bzw. dem horizontalen Grad.
    • Die maximale Neigung wird von dem Segment abgerufen, das den höchsten berechneten Wert aufweist.
    • Die durchschnittliche Neigung einer Polylinie wird abgerufen, indem ein gewichteter Durchschnitt der Neigung jedes Liniensegments gebildet wird. Die Gewichtung basiert auf der 3D-Länge der einzelnen Segmente. Dies führt dazu, dass längere Segmente im Gegensatz zu kürzeren Segmenten einen größeren Einfluss auf die resultierende Berechnung haben.
  • Alle Attribute werden auf Basis einer TIN-Oberfläche berechnet, die zum Interpolieren der Z-Informationen für die Eingabe-Features verwendet wird. Oberflächen, die keine TIN-Oberflächen sind, werden in ein temporäres TIN-Dataset konvertiert. Die Features werden auf die Grenze dieser TIN-Oberfläche zugeschnitten, und nur der gemeinsame Bereich von Features und Oberfläche wird evaluiert. Die Erstellung dieses TIN kann viel Zeit in Anspruch nehmen, wenn die Eingabe ein dichtes LAS-Dataset oder ein Raster mit hoher Auflösung ist. Wenn zu Analysezwecken eine niedrigere Auflösung für das TIN akzeptabel ist, kann entweder das Werkzeug Raster in TIN oder das Werkzeug LAS-Dataset in TIN verwendet werden, um eine ausgedünnte TIN-Oberfläche zur Verwendung mit diesem Werkzeug zu erstellen.

  • Der Z-Mittelwert für ein Polygon wird berechnet, indem das TIN anhand des Polygons zugeschnitten und die Ergebnisse aus dem zugeschnittenen TIN abgeleitet werden. Für jedes Dreieck in diesem TIN wird der Z-Wert seines Mittelpunkts mit der 3D-Fläche des Dreiecks multipliziert. Die Ergebnisse dieser Berechnung für alle Dreiecke werden addiert, und anschließend wird die Summe durch die kumulative 3D-Fläche dieser Dreiecke dividiert, um das Endergebnis zu erhalten. Wenn ein großes Polygon-Feature zusammen mit einer Raster-Oberfläche angegeben wird, die eine große Anzahl an überlappenden Zellen aufweist, kann der Prozess wegen unzureichender Speicherressourcen, die für die Erstellung der temporären TIN-Oberfläche benötigt werden, fehlschlagen. In diesem Fall müssen Sie ein TIN mit einer niedrigeren Auflösung erstellen oder einen rasterbasierten Ansatz verwenden, um die erwarteten Ausgabeeigenschaften zu erhalten. Das Toolset "Zonale Statistiken" enthält mehrere Werkzeuge, mit denen Eigenschaften wie Gebiets-, Minimal-, Maximal- und Mittelwerte schneller abgeleitet werden können. Die Werkzeuge Flächentabellen erstellen und Zonale Statistiken als Tabelle liefern eine Ausgabetabelle, die mit dem Polygon-Feature verbunden werden kann. Um Neigungseigenschaften zu erhalten, können Sie ein Neigungsraster erstellen und eines dieser Werkzeuge ausführen. Wenn Sie nicht über die Spatial Analyst-Erweiterung verfügen, aber den Oberflächenbereich und das Oberflächenvolumen berechnen möchten, können Sie das Eingabe-Raster mit dem Polygon zuschneiden und das Werkzeug Oberflächenvolumen verwenden, das sowohl den Oberflächenbereich als auch das Oberflächenvolumen ausgibt.

  • Linien-Features werden verarbeitet, indem die Linien auf die TIN-Oberfläche drapiert werden und an jeder Stelle, an der die Linie eine TIN-Kante kreuzt, ein Stützpunkt eingefügt wird. Linien mit Kurvensegmenten werden vor der Verarbeitung in kürzere gerade Segmente verdichtet. Der Z-Mittelwert für eine bestimmte Linie wird berechnet, indem der Mittelpunkt des Segments mit der 3D-Länge des Segments multipliziert wird. Anschließend werden die Ergebnisse dieser Berechnung für alle Liniensegmente addiert, und die Summe wird durch die kumulative 3D-Länge der Liniensegmente dividiert.

  • Verwenden Sie den Parameter Rauschfilter, um Teile der Oberfläche, die anhand abweichender Messungen definiert werden, von den Neigungsberechnungen auszuschließen. Linien-Features werden durch Stützpunkte segmentiert, die das Profil der Oberfläche erfassen, und durch die Filterung dieser Segmente nach Länge wird der Einfluss kurzer Segmente, die wahrscheinlich durch unerwartete Oberflächenmesswerte verursacht werden, beseitigt. Entsprechend schließt der Bereichsfilter für Polygon-Features Splitterdreiecke in triangulierten Oberflächen von den Neigungsberechnungen aus. Für Raster-Oberflächen wird eine Teilmenge von Zellenschwerpunkten zum Erstellen einer triangulierten Oberfläche verwendet, auf die der Bereichsfilter angewendet wird. Polygone werden intern in Multipatches (Sammlungen von Dreiecken) umgewandelt. Jedes dieser Dreiecke wird beim Drapieren auf die Oberfläche in der Regel in kleinere Dreiecke aufgeteilt, damit das gesamte Polygon mit der Oberfläche übereinstimmt. Der Z-Wert am Mittelpunkt jedes Dreiecks wird mit der 3D-Fläche des Dreiecks multipliziert. Die berechneten Produkte werden addiert, und anschließend wird die Summe durch die kumulative 3D-Fläche der Dreiecke dividiert, wodurch sich der gewichtete Mittelwert der Z-Werte an den Dreiecksmittelpunkten ergibt.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Features

Die Punkt-, Multipoint-, Polylinien- oder Polygon-Features, die die Positionen für die Bestimmung einer oder mehrerer Oberflächeneigenschaften definieren.

Feature Layer
Eingabe-Oberfläche

Die LAS-Dataset-, Mosaik-, Raster-, Terrain- oder TIN-Oberfläche zum Interpolieren von Z-Werten.

LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer
Ausgabe-Eigenschaft

Gibt die Oberflächen-Höheneigenschaften an, die der Attributtabelle der Eingabe-Feature-Class hinzugefügt werden.

  • ZDie für die XY-Position interpolierte Oberflächenhöhe der einzelnen Punkt-Features wird hinzugefügt.
  • Z-MinimumDie niedrigste Oberflächenhöhe in dem durch das Polygon definierten Bereich, entlang einer Linie oder zwischen den interpolierten Punktwerten in einem Multipoint-Datensatz wird hinzugefügt.
  • Z-MaximumDie höchste Oberflächenhöhe in dem durch das Polygon definierten Bereich, entlang einer Linie oder zwischen den interpolierten Punktwerten in einem Multipoint-Datensatz wird hinzugefügt.
  • Z-MittelwertDie durchschnittliche Oberflächenhöhe des durch das Polygon definierten Bereichs, entlang einer Linie oder zwischen den interpolierten Punktwerten in einem Multipoint-Datensatz wird hinzugefügt.
  • OberflächeDie 3D-Oberfläche für die durch das Polygon definierte Region wird hinzugefügt.
  • OberflächenlängeDie 3D-Entfernung der Linie entlang der Oberfläche wird hinzugefügt.
  • Minimale NeigungDer 0 am nächsten gelegene Neigungswert entlang der Linie oder innerhalb der durch das Polygon definierten Fläche wird hinzugefügt.
  • Maximale NeigungDer höchste Neigungswert entlang der Linie oder innerhalb der durch das Polygon definierten Fläche wird hinzugefügt.
  • Durchschnittliche NeigungDer durchschnittliche Neigungswert entlang der Linie oder innerhalb der durch das Polygon definierten Fläche wird hinzugefügt.
String
Methode
(optional)

Gibt die Interpolationsmethode an, die zum Ermitteln der Informationen zur Oberfläche verwendet wird.

  • BilinearEs wird eine ausschließlich für die Raster-Oberfläche vorgesehene Interpolationsmethode zur Bestimmung der Zellenwerte aus den vier nächstgelegenen Zellen verwendet. Dies ist die einzige Option, die für eine Raster-Oberfläche verfügbar ist.
  • LinearDer Höhenwert wird von der Ebene abgerufen, die durch das Dreieck definiert wird, das die XY-Position eines Abfragepunktes enthält. Dies ist die Standard-Interpolationsmethode für TINs, Terrains und LAS-Datasets.
  • Natürliche NachbarnDer Höhenwert wird durch Anwenden von flächenbasierten Gewichtungen auf die natürlichen Nachbarn eines Abfragepunktes abgerufen.
  • Z-Minimum abrufenDer Höhenwert wird vom kleinsten Z-Wert unter den natürlichen Nachbarn eines Abfragepunktes abgerufen.
  • Z-Maximum abrufenDer Höhenwert wird vom größten Z-Wert unter den natürlichen Nachbarn eines Abfragepunktes abgerufen.
  • Nächstgelegenen Z-Wert abrufenDer Höhenwert wird vom nächsten Z-Wert unter den natürlichen Nachbarn eines Abfragepunktes abgerufen.
  • Am nächsten zum Mittelwert gelegenen Z-Wert abrufenDer Höhenwert wird von dem Z-Wert aberufen, der dem Durchschnitt aller natürlichen Nachbarn eines Abfragepunktes am nächsten liegt.
String
Abtastschrittweite
(optional)

Der Abstand, bei dem Z-Werte interpoliert werden. Standardmäßig wird die Raster-Zellengröße verwendet, wenn die Eingabe-Oberfläche ein Raster ist. Die natürliche Verdichtung der triangulierten Oberfläche wird verwendet, wenn die Eingabe ein Terrain- oder ein TIN-Dataset ist.

Double
Z-Faktor
(optional)

Der Faktor, mit dem Z-Werte multipliziert werden. Dieser wird in der Regel verwendet, um lineare Z-Einheiten zu konvertieren, sodass sie den linearen XY-Einheiten entsprechen. Der Standardwert ist 1, wodurch die Höhenwerte unverändert bleiben. Der Parameter ist nicht verfügbar, wenn der Raumbezug der Eingabe-Oberfläche über ein Z-Datum mit einer angegebenen linearen Einheit verfügt.

Double
Auflösung der Pyramidenebene
(optional)

Die verwendete Auflösung der Z-Toleranz oder der Kachelung der Terrain-Pyramidenebene. Der Standardwert ist 0, also volle Auflösung.

Double
Rauschfilterung
(optional)

Definiert, ob Teile der Oberfläche, die potenziell anhand abweichender Messungen definiert werden, von den Neigungsberechnungen ausgeschlossen werden. Dieser Parameter hat keine Auswirkungen auf andere Eigenschaften.

Linien-Features bieten einen Längenfilter, der Liniensegmente mit 3D-Längen, die den angegebenen Wert unterschreiten, aus den Neigungsberechnungen ausschließt. Polygon-Features bieten einen Flächenfilter, der Polygone, deren abgedeckter Oberflächenbereich den angegebenen Wert unterschreitet, ausschließt.

String

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Aktualisierte Eingabe-Features

Die aktualisierten Eingabe-Features.

Feature Layer

arcpy.ddd.AddSurfaceInformation(in_feature_class, in_surface, out_property, {method}, {sample_distance}, {z_factor}, {pyramid_level_resolution}, {noise_filtering})
NameErläuterungDatentyp
in_feature_class

Die Punkt-, Multipoint-, Polylinien- oder Polygon-Features, die die Positionen für die Bestimmung einer oder mehrerer Oberflächeneigenschaften definieren.

Feature Layer
in_surface

Die LAS-Dataset-, Mosaik-, Raster-, Terrain- oder TIN-Oberfläche zum Interpolieren von Z-Werten.

LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer
out_property
[out_property,...]

Gibt die Oberflächen-Höheneigenschaften an, die der Attributtabelle der Eingabe-Feature-Class hinzugefügt werden.

  • ZDie für die XY-Position interpolierte Oberflächenhöhe der einzelnen Punkt-Features wird hinzugefügt.
  • Z_MINDie niedrigste Oberflächenhöhe in dem durch das Polygon definierten Bereich, entlang einer Linie oder zwischen den interpolierten Punktwerten in einem Multipoint-Datensatz wird hinzugefügt.
  • Z_MAXDie höchste Oberflächenhöhe in dem durch das Polygon definierten Bereich, entlang einer Linie oder zwischen den interpolierten Punktwerten in einem Multipoint-Datensatz wird hinzugefügt.
  • Z_MEANDie durchschnittliche Oberflächenhöhe des durch das Polygon definierten Bereichs, entlang einer Linie oder zwischen den interpolierten Punktwerten in einem Multipoint-Datensatz wird hinzugefügt.
  • SURFACE_AREADie 3D-Oberfläche für die durch das Polygon definierte Region wird hinzugefügt.
  • SURFACE_LENGTHDie 3D-Entfernung der Linie entlang der Oberfläche wird hinzugefügt.
  • MIN_SLOPEDer 0 am nächsten gelegene Neigungswert entlang der Linie oder innerhalb der durch das Polygon definierten Fläche wird hinzugefügt.
  • MAX_SLOPEDer höchste Neigungswert entlang der Linie oder innerhalb der durch das Polygon definierten Fläche wird hinzugefügt.
  • AVG_SLOPEDer durchschnittliche Neigungswert entlang der Linie oder innerhalb der durch das Polygon definierten Fläche wird hinzugefügt.
String
method
(optional)

Gibt die Interpolationsmethode an, die zum Ermitteln der Informationen zur Oberfläche verwendet wird.

  • BILINEAREs wird eine ausschließlich für die Raster-Oberfläche vorgesehene Interpolationsmethode zur Bestimmung der Zellenwerte aus den vier nächstgelegenen Zellen verwendet. Dies ist die einzige Option, die für eine Raster-Oberfläche verfügbar ist.
  • LINEARDer Höhenwert wird von der Ebene abgerufen, die durch das Dreieck definiert wird, das die XY-Position eines Abfragepunktes enthält. Dies ist die Standard-Interpolationsmethode für TINs, Terrains und LAS-Datasets.
  • NATURAL_NEIGHBORSDer Höhenwert wird durch Anwenden von flächenbasierten Gewichtungen auf die natürlichen Nachbarn eines Abfragepunktes abgerufen.
  • CONFLATE_ZMINDer Höhenwert wird vom kleinsten Z-Wert unter den natürlichen Nachbarn eines Abfragepunktes abgerufen.
  • CONFLATE_ZMAXDer Höhenwert wird vom größten Z-Wert unter den natürlichen Nachbarn eines Abfragepunktes abgerufen.
  • CONFLATE_NEARESTDer Höhenwert wird vom nächsten Z-Wert unter den natürlichen Nachbarn eines Abfragepunktes abgerufen.
  • CONFLATE_CLOSEST_TO_MEANDer Höhenwert wird von dem Z-Wert aberufen, der dem Durchschnitt aller natürlichen Nachbarn eines Abfragepunktes am nächsten liegt.
String
sample_distance
(optional)

Der Abstand, bei dem Z-Werte interpoliert werden. Standardmäßig wird die Raster-Zellengröße verwendet, wenn die Eingabe-Oberfläche ein Raster ist. Die natürliche Verdichtung der triangulierten Oberfläche wird verwendet, wenn die Eingabe ein Terrain- oder ein TIN-Dataset ist.

Double
z_factor
(optional)

Der Faktor, mit dem Z-Werte multipliziert werden. Dieser wird in der Regel verwendet, um lineare Z-Einheiten zu konvertieren, sodass sie den linearen XY-Einheiten entsprechen. Der Standardwert ist 1, wodurch die Höhenwerte unverändert bleiben. Der Parameter ist nicht verfügbar, wenn der Raumbezug der Eingabe-Oberfläche über ein Z-Datum mit einer angegebenen linearen Einheit verfügt.

Double
pyramid_level_resolution
(optional)

Die verwendete Auflösung der Z-Toleranz oder der Kachelung der Terrain-Pyramidenebene. Der Standardwert ist 0, also volle Auflösung.

Double
noise_filtering
(optional)

Definiert, ob Teile der Oberfläche, die potenziell anhand abweichender Messungen definiert werden, von den Neigungsberechnungen ausgeschlossen werden. Dieser Parameter hat keine Auswirkungen auf andere Eigenschaften.

Linien-Features bieten einen Längenfilter, der Liniensegmente mit 3D-Längen, die den angegebenen Wert unterschreiten, aus den Neigungsberechnungen ausschließt. Polygon-Features bieten einen Flächenfilter, der Polygone, deren abgedeckter Oberflächenbereich den angegebenen Wert unterschreitet, ausschließt.

String

Abgeleitete Ausgabe

NameErläuterungDatentyp
output_feature_class

Die aktualisierten Eingabe-Features.

Feature Layer

Codebeispiel

AddSurfaceInformation: Beispiel 1 (Python-Fenster)

Im folgenden Beispiel wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.

arcpy.env.workspace = "C:/data"
arcpy.ddd.AddSurfaceInformation("points.shp", "my_tin", "Z", "LINEAR")
AddSurfaceInformation: Beispiel 2 (eigenständiges Skript)

Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.

'''*********************************************************************
Name: AddSurfaceInformation Example
Description: This script demonstrates how to use AddSurfaceInformation 
             on all 2D feature classes in a target workspace.
*********************************************************************'''
# Import system modules
import arcpy

# Set Local Variables
arcpy.env.workspace = 'c:/data'
inSurface = 'fgdb.gdb/municipal/terrain'
pyramid = 5
method = "BILINEAR"

# Create list of feature classes
fcList = arcpy.ListFeatureClasses()

if fcList:
    for fc in fcList:
        desc = arcpy.Describe(fc)
        # Determine if the feature is 2D
        if not desc.hasZ:
            if desc.shapeType == "Polygon":
                # Desired properties separated by semi-colons
                Prop = "Z_MIN;Z_MAX" 
            elif desc.shapeType == "Point":
                Prop = "Z"
            elif desc.shapeType == "Multipoint":
                Prop = "Z_MIN;Z_MAX;Z_MEAN"
            elif desc.shapeType == "Polyline":
                Prop = "LENGTH_3D"
            # Execute AddSurfaceInformation
            arcpy.ddd.AddSurfaceInformation(fc, inSurface, Prop, 
                                            method, 15, 1, pyramid)
            print("Completed adding surface information.")

Verwandte Themen