LandXML a TIN (3D Analyst)
Resumen
Esta herramienta importa una o más superficies de red irregular de triángulos (TIN) desde un archivo LandXML para TIN de ESRI de salida.
Uso
-
Cuando está seleccionado el archivo LandXML de entrada, el parámetro TIN a importar se completa con todas las superficies TIN encontradas en el archivo LandXML.
Se crea un TIN de Delaunay con límites del archivo LandXML como TIN de Delaunay con límites.
-
Cuando se exporten varios TIN desde el archivo LandXML, el nombre de base se repetirá para definir el nombre de los TIN de salida de la siguiente manera: <basename>, <basename>2, <basename>3 y así sucesivamente. Si <basename> ya existe, la herramienta no escribirá nada. Si <basename> no existe pero <basename>2 existe, la herramienta creará <basename> y <basename>2_1, en vez de <basename>2.
En modo de secuencia de comandos, los nombres dentro del parámetro tinnames pueden especificarse en forma corta (solo número o solo nombre) para conveniencia. En lugar de "1. Site0445; 2. <unnamed>; 3. <unnamed>; 4. Site_09" , puede especificar "1;2;3;4" o "Site0445; Site_09;2;3". La palabra clave <unnamed> no se puede utilizar por sí misma ya que el TIN se debe identificar unívocamente.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_landxml_path |
Archivo de entrada LandXML. | File |
out_tin_folder |
La carpeta donde se crearán los TIN. | Folder |
tin_basename |
El nombre de los TIN de salida. | String |
tinnames (Opcional) |
Especifica los TIN que se importarán para los archivos LandXML que contienen varios TIN. Cada TIN puede especificarse mediante un nombre (por ejemplo, "Tin01") o por su posición en la lista de los TIN LandXML disponibles (por ejemplo, 1 para especificar el primer TIN). La lista de TIN para importar se puede introducir como una cadena de caracteres delimitada por punto y coma (por ejemplo, "1. Tin01; 2. Tin02"), una lista de cadenas (por ejemplo, ["1. Tin01", "2. Tin02"]) o una lista de valores numéricos que denotan la posición de los TIN deseados (por ejemplo, [1, 2, 3]). | String |
Ejemplo de código
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.LandXMLToTin_3d("surfaces.xml", "TINs", "_", "1;2")
The following sample demonstrates the use of this tool in a stand-alone Python script:
'''**************************************************************************** Name: LandXMLToTin Example Description: This script demonstrates how to use the ListFiles method to collect all LandXML (*.xml) files in a workspace as input for the Import3DFiles tool. ****************************************************************************''' # Import system modules import arcpy from arcpy import env import exceptions, sys, traceback try: # Obtain a license for the ArcGIS 3D Analyst extension arcpy.CheckOutExtension("3D") # Set environment settings env.workspace = "C:/data" # Use ListFiles method to grab all xml files (assumedly LandXML files) landList = arcpy.ListFiles("*.xml") if landList: for landFile in landList: # Set Local Variables outputFolder = "TINs" # The folder that the TINs will be created in outputBase = "Madagascar_" # Base name will be applied to all output TINs grab = "1" # TIN selection can be chosen by enumerated values (e.g. 1;2) # Execute Import3DFiles arcpy.LandXMLToTin_3d(landFile, outputFolder, outputBase, grab) print "Completed creating TIN(s) from {0}.".format(landFile) else: "There are no xml files in {0}.".format(env.workspace) 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)