Terrain-Punkte anfügen (3D Analyst)

Mit der 3D Analyst-Lizenz verfügbar.

Zusammenfassung

Es werden Punkten an ein Punkt-Feature angehängt, das von einem Terrain-Dataset referenziert wird.

Verwendung

  • Durch dieses Werkzeug wird ein Terrain-Dataset ungültig. Führen Sie das Werkzeug Terrain berechnen aus, nachdem Sie Punkte oder Multipoints hinzugefügt haben.

  • Falls es sich um ein SDE-Terrain handelt, ist eine Registrierung als versioniert erforderlich.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Terrain

Das Terrain-Dataset, das verarbeitet wird.

Terrain Layer
Eingabe-Terrain-Datenquelle

Die Feature-Class, die zu dem Terrain-Dataset beiträgt, in das die Punkte oder Multipoints hinzugefügt werden.

String
Eingabepunkte

Die Feature-Class von Punkten oder Multipoints, die als zusätzliche Datenquelle für das Terrain-Dataset hinzugefügt werden soll.

Feature Layer
Interessenbereich
(optional)

Geben Sie eine Polygon-Feature-Class oder Ausdehnungswerte an, um die Fläche zu definieren, der Punkt-Features hinzugefügt werden sollen. Dieser Parameter ist standardmäßig leer, was dazu führt, dass alle Punkte der Eingabe-Feature-Class in das Terrain-Feature geladen werden.

Extent; Feature Layer

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Aktualisiertes Eingabe-Terrain

Das aktualisierte Terrain.

Terrain-Layer

arcpy.ddd.AppendTerrainPoints(in_terrain, terrain_feature_class, in_point_features, {polygon_features_or_extent})
NameErläuterungDatentyp
in_terrain

Das Terrain-Dataset, das verarbeitet wird.

Terrain Layer
terrain_feature_class

Die Feature-Class, die zu dem Terrain-Dataset beiträgt, in das die Punkte oder Multipoints hinzugefügt werden.

Für diesen Parameter ist nur der Name der Feature-Class und nicht der vollständige Pfad erforderlich.

String
in_point_features

Die Feature-Class von Punkten oder Multipoints, die als zusätzliche Datenquelle für das Terrain-Dataset hinzugefügt werden soll.

Feature Layer
polygon_features_or_extent
(optional)

Geben Sie eine Polygon-Feature-Class oder ein arcpy.Extent-Objekt an, um die Fläche zu definieren, der Punkt-Features hinzugefügt werden sollen. Dieser Parameter ist standardmäßig leer, was dazu führt, dass alle Punkte der Eingabe-Feature-Class in das Terrain-Feature geladen werden.

Extent; Feature Layer

Abgeleitete Ausgabe

NameErläuterungDatentyp
derived_out_terrain

Das aktualisierte Terrain.

Terrain-Layer

Codebeispiel

AppendTerrainPoints – Beispiel 1 (Python-Fenster)

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

arcpy.env.workspace = 'C:/data'
arcpy.ddd.AppendTerrainPoints('sample.gdb/featuredataset/terrain', 
                           'existing_points', 'new_points.shp')
AppendTerrainPoints – Beispiel 2 (eigenständiges Skript)

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

'''****************************************************************************
Name: Update Terrain
Description: This script demonstrates how to update a terrain dataset
             with new elevation measurements obtained from Lidar by
             importing LAS files to multipoint features, then appending the
             new points to another multipoint feature that participates in a
             terrain. The terrain's pyramids are modified to optimize its
             draw speed.
****************************************************************************'''
# Import system modules
import arcpy

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

    # Set Variables
    inTerrain = "sample.gdb/featuredataset/terrain"
    currentPts = "existing_points"
    lasFiles = ['las/NE_Philly.las',
                'las/NW_Philly.las']
    newPts = 'in_memory/update_pts'
    # Define spatial reference of LAS files using factory code
    # for NAD_1983_StatePlane_Pennsylvania_South
    lasSR = arcpy.SpatialReference(2272)

    arcpy.AddMessage("Converting LAS files to multipoint features...")
    arcpy.ddd.LASToMultipoint(lasFiles, newPts, 1.5, 2, 1,
                              'INTENSITY', lasSR)

    arcpy.AddMessage("Appending LAS points to {0}..."\
                     .format(currentPts))
    arcpy.ddd.AppendTerrainPoints(inTerrain, currentPts, newPts)

    arcpy.AddMessage("Changing terrain pyramid reference scales...")
    arcpy.ddd.ChangeTerrainReferenceScale(inTerrain, 1000, 500)
    arcpy.ddd.ChangeTerrainReferenceScale(inTerrain, 2500, 2000)

    arcpy.AddMessage("Adding terrain pyramid level...")
    arcpy.ddd.AddTerrainPyramidLevel(inTerrain, "", "4 4500")

    arcpy.AddMessage("Changing pyramid resolution bounds for breaklines...")
    arcpy.ddd.ChangeTerrainResolutionBounds(inTerrain, "breaklines", 5, 4)

    arcpy.AddMessage("Building terrain...")
    arcpy.ddd.BuildTerrain(inTerrain)

    arcpy.AddMessage("Completed updates.")

except arcpy.ExecuteError:
    print(arcpy.GetMessages())
except Exception as err:
    print(err)

Verwandte Themen