Incorporar puntos de terreno (3D Analyst)

Disponible con una licencia de 3D Analyst.

Resumen

Incorpora puntos a una entidad de puntos referenciada por un dataset de terreno.

Uso

  • Esta herramienta invalidará un dataset de terreno. Ejecute Construir terreno después de agregar puntos o multipuntos.

  • Si el terreno se encuentra en SDE, debe registrarse como versionado.

Parámetros

EtiquetaExplicaciónTipo de datos
Terreno de entrada

El dataset de terreno que se procesará.

Terrain Layer
Fuente de datos terreno de entrada

La clase de entidad que contribuye al dataset de terreno en el que se agregarán los puntos o multipuntos.

String
Puntos de entrada

La clase de entidad de puntos o multipuntos que se agregará como fuente de datos adicional para el dataset de terreno.

Feature Layer
Área de interés
(Opcional)

Especifique una clase de entidad poligonal o amplíe los valores para definir el área en la que se agregarán las entidades de puntos. Este parámetro está vacío de manera predeterminada, por lo que todos los puntos de la clase de entidad de entrada se cargan en la entidad de terreno.

Extent; Feature Layer

Salida derivada

EtiquetaExplicaciónTipo de datos
Terreno de entrada actualizado

El terreno actualizado.

Capa de terreno

arcpy.ddd.AppendTerrainPoints(in_terrain, terrain_feature_class, in_point_features, {polygon_features_or_extent})
NombreExplicaciónTipo de datos
in_terrain

El dataset de terreno que se procesará.

Terrain Layer
terrain_feature_class

La clase de entidad que contribuye al dataset de terreno en el que se agregarán los puntos o multipuntos.

Este parámetro solo requiere el nombre de la clase de entidad y no su ruta completa.

String
in_point_features

La clase de entidad de puntos o multipuntos que se agregará como fuente de datos adicional para el dataset de terreno.

Feature Layer
polygon_features_or_extent
(Opcional)

Especifique una clase de entidad poligonal o un objeto arcpy.Extent para definir el área en la que se agregarán las entidades de puntos. Este parámetro está vacío de manera predeterminada, por lo que todos los puntos de la clase de entidad de entrada se cargan en la entidad de terreno.

Extent; Feature Layer

Salida derivada

NombreExplicaciónTipo de datos
derived_out_terrain

El terreno actualizado.

Capa de terreno

Muestra de código

Ejemplo 1 de AppendTerrainPoints (ventana Python)

En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.

arcpy.env.workspace = 'C:/data'
arcpy.ddd.AppendTerrainPoints('sample.gdb/featuredataset/terrain', 
                           'existing_points', 'new_points.shp')
Ejemplo 2 de AppendTerrainPoints (script independiente)

En el siguiente ejemplo se muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python.

'''****************************************************************************
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)

Temas relacionados