Append Terrain Points (3D Analyst)

Resumen

Appends points to a point feature referenced by a terrain dataset.

Uso

Sintaxis

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

The input terrain dataset.

Terrain Layer
terrain_feature_class

The feature class that contributes to the terrain dataset into which the points or multipoints will be added.

This parameter only requires the name of the feature class and not its full path.

String
in_point_features

The feature class of points or multipoints to add as an additional data source for the terrain dataset.

Feature Layer
polygon_features_or_extent
(Opcional)

Specify a polygon feature class or arcpy.Extent object to define the area where point features will be added. This parameter is empty by default, which results in all the points from the input feature class being loaded to the terrain feature.

Extent; Feature Layer

Ejemplo de código

AppendTerrainPoints example 1 (Python window)

The following sample demonstrates the use of this tool in the Python window:

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')
AppendTerrainPoints example 2 (stand-alone script)

The following sample demonstrates the use of this tool in a stand-alone Python script:

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

Información de licencia

ArcView: Requiere 3D Analyst
ArcEditor: Requiere 3D Analyst
ArcInfo: Requiere 3D Analyst

7/10/2012