Incorporar puntos de terreno (3D Analyst)

Resumen

Incorpora puntos a una entidad de un punto referenciado por el dataset de un terreno.

Uso

Sintaxis

AppendTerrainPoints_3d (in_terrain, terrain_feature_class, in_point_features, {polygon_features_or_extent})
ParámetroExplicaciónTipo de datos
in_terrain

El dataset de terreno de entrada.

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 necesita el nombre de la clase de entidad en vez de su ruta completa.

String
in_point_features

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

Feature Layer
polygon_features_or_extent
(Opcional)

Especifique una clase de entidad de polígono o un objeto arcpy.Extent para definir el área en la que se agregarán las entidades del punto. Este parámetro está vacío por defecto, lo que resulta en que todos los puntos de la clase de entidad de entrada puedan cargarse a la entidad del terreno.

Extent; Feature Layer

Ejemplo de código

Ejemplo 1 de AppendTerrainPoints (ventana de Python)

El siguiente ejemplo muestra cómo usar de esta herramienta en la ventana Python:

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.AppendTerrainPoints_3d('sample.gdb/featuredataset/terrain', 
                           'existing_points', 'new_points.shp')
Ejemplo 2 de AppendTerrainPoints (secuencia de comandos independiente)

El siguiente ejemplo 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
from arcpy import env
import exceptions, sys, traceback

try:
    arcpy.CheckOutExtension("3D")
    
    # Set environment settings
    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()
    lasSR.factoryCode = 2272
    lasSR.create()
    
    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.AppendTerrainPoints_3d(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.ChangeTerrainResolutionBounds_3d(inTerrain, "breaklines", 5, 4)
    
    arcpy.AddMessage("Building terrain...")
    arcpy.ddd.BuildTerrain(inTerrain)
    
    arcpy.AddMessage("Completed updates.")

except arcpy.ExecuteError:
    print arcpy.GetMessages()
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = "PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}"\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = "ArcPy ERRORS:\n {0}\n".format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)

finally:
    arcpy.CheckInExtension("3D")

Entornos

Temas relacionados

9/11/2013