Copiar TIN (3D Analyst)
Resumen
Crea una copia de un dataset de red irregular de triángulos (TIN).
Uso
Especifica la opción PRE_10.0 para crear una copia compatible con versiones anteriores de la TIN que se puede usar en versiones de ArcGIS lanzadas antes de 10.0.
Especifica la opción CURRENT para crear una copia de la TIN usando las especificaciones de 10.0, que ofrecen las siguientes mejoras:
- Soporte para información de referencia espacial mejorada
- Soporte para triangulación Delaunay restringida
- Persistencia de información del origen del nodo de tal forma que cada nodo almacena información que indica si originó los datos de entrada o los introdujo un triangulador
- Persistencia de los valores de etiqueta de borde
Sintaxis
CopyTIN_3d (in_tin, out_tin, {version})
Parámetro | Explicación | Tipo de datos |
in_tin |
El TIN de entrada. | TIN Layer |
out_tin |
El dataset de TIN de salida. | TIN |
version (Opcional) | La versión del dataset de TIN de salida.
| String |
Ejemplo de código
Ejemplo 1 de CopyTIN (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.CopyTin_3d("elevation", "elevation_copy", "CURRENT")
Ejemplo 2 de CopyTIN (secuencia de comandos independiente)
El siguiente ejemplo muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python:
'''****************************************************************************
Name: Define Data Boundary of LAS File
Description: This script demonstrates how to delineate data boundaries of
LAS files with irregularly clustered points. It is intended for
use as a script tool with one input LAS file.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
# Set local variables
inLas = arcpy.GetParameterAsText(0) #input LAS file
ptSpacing = arcpy.GetParameterAsText(1) # LAS point spacing
classCode = arcpy.GetParameterAsText(2) # List of integers
returnValue = arcpy.GetParameterAsText(3) # List of strings
outTin = arcpy.GetParameterAsText(4) # TIN created to delineate data area
outBoundary = arcpy.GetParameterAsText(5) # Polygon boundary file
try:
arcpy.CheckOutExtension("3D")
# Execute LASToMultipoint
arcpy.AddMessage("Creating multipoint features from LAS...")
lasMP = arcpy.CreateUniqueName('lasMultipoint', 'in_memory')
arcpy.ddd.LASToMultipoint(inLas, LasMP, ptSpacing, class_code,
"ANY_RETURNS", "", sr, inFormat, zfactor)
# Execute CreateTin
arcpy.AddMessage("Creating TIN dataset...")
arcpy.ddd.CreateTin(outTin, sr, "{0} Shape.Z masspoints"\
.format(lasMP), "Delaunay")
# Execute CopyTin
arcpy.AddMessage("Copying TIN to delineate data boundary...")
arcpy.ddd.CopyTin(outTin, "{0}_copy".format(outTin))
# Execute DelineateTinDataArea
arcpy.AddMessage("Delineating TIN boundary...")
maxEdge = ptSpacing * 4
arcpy.ddd.DelineateTinDataArea(outTin, maxEdge, "PERIMETER_ONLY")
# Execute TinDomain
arcpy.AddMessage("Exporting data area to polygon boundary...")
arcpy.ddd.TinDomain(outTin, outBoundary, "POLYGON")
arcpy.AddMessage("Finished")
arcpy.CheckInExtension("3D")
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)
Entornos
Temas relacionados
9/11/2013