Disponible con una licencia de 3D Analyst.
Resumen
Incorpora puntos a una entidad de un punto referenciado por el dataset de un terreno.
Uso
Esta herramienta invalidará un dataset de un terreno. Ejecute Construir terreno después de agregar puntos o multipuntos.
Si el terreno se encuentra en SDE, debe registrarse como versionado.
Sintaxis
AppendTerrainPoints_3d (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 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)
En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de 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)
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
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
Información sobre licencias
- ArcGIS for Desktop Basic: Requiere 3D Analyst
- ArcGIS for Desktop Standard: Requiere 3D Analyst
- ArcGIS for Desktop Advanced: Requiere 3D Analyst
Temas relacionados
- Información general sobre el conjunto de herramientas Administración de datos
- Fundamentos de las superficies
- Formatos de superficie
- ¿Qué es un dataset de terreno?
- Ventajas de utilizar datasets de terreno
- Tipos de datos de origen compatibles con los datasets de terreno
- Importar datos y cargar herramientas en dataset de terreno