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.
Sintaxis
arcpy.3d.AppendTerrainPoints(in_terrain, terrain_feature_class, in_point_features, {polygon_features_or_extent})
Parámetro | Explicación | Tipo de datos |
in_terrain | El dataset de terreno que se va a 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
Nombre | Explicación | Tipo de datos |
derived_out_terrain | El terreno actualizado. | Capa de terreno |
Muestra de código
En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.
arcpy.env.workspace = 'C:/data'
arcpy.AppendTerrainPoints_3d('sample.gdb/featuredataset/terrain',
'existing_points', 'new_points.shp')
En el siguiente ejemplo se muestra cómo usar esta herramienta en un script 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.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 Exception as err:
print(err)
Información de licenciamiento
- Basic: Requiere 3D Analyst
- Standard: Requiere 3D Analyst
- Advanced: Requiere 3D Analyst