LandXML vers TIN (3D Analyst)
Récapitulatif
Cet outil permet d'importer une ou plusieurs surfaces TIN (Triangulated Irregular Network, réseau triangulé irrégulier) d'un fichier LandXML vers les TIN ESRI en sortie.
Utilisation
-
Une fois le fichier LandXML en entrée sélectionné, le paramètre TIN à importer est renseigné avec toutes les surfaces TIN du fichier LandXML.
Un TIN Delaunay contraint provenant du fichier LandXML est créé en tant que TIN Delaunay contraint.
-
Lorsque plusieurs TIN sont exportés à partir du fichier LandXML, le nom de base est réitéré pour définir le nom des TIN en sortie, comme suit : <nom de base>, <nom de base> 2, <nom de base> 3, et ainsi de suite. Si <nom de base> existe déjà, l'outil n'enregistre rien. Si <nom de base> n'existe pas mais que <nom de base>2 existe, l'outil crée <nom de base> et <nom de base>2_1, au lieu de <nom de base>2.
En mode de script, les noms inclus dans le paramètre tinnames peuvent être spécifiés sous forme abrégée (uniquement le nombre ou uniquement le nom), selon les besoins. Au lieu de "1. Site0445; 2. <sans_nom>; 3. <sans_nom>; 4. Site_09", vous pouvez spécifier "1;2;3;4" ou "Site0445; Site_09;2;3". Le mot-clé <sans_nom> ne peut pas être utilisé seul car le TIN doit être identifié de manière unique.
Syntaxe
Paramètre | Explication | Type de données |
in_landxml_path |
Fichier LandXML en entrée. | File |
out_tin_folder |
Dossier dans lequel les TIN seront créés. | Folder |
tin_basename |
Le nom des TIN en sortie. | String |
tinnames (Facultatif) |
Spécifie les TIN à importer pour les fichiers LandXML contenant plusieurs TIN. Chaque TIN peut être spécifié par un nom (par exemple, "Tin01") ou par sa position dans la liste de TIN LandXML disponibles (par exemple 1 pour spécifier le premier TIN). La liste de TIN à importer peut être entrée comme une chaîne dont les valeurs sont séparées par des points-virgules (par exemple, "1. Tin01; 2. Tin02"), une liste de chaînes (par exemple, ["1. Tin01", "2. Tin02"]), ou une liste de valeurs numériques qui représentent la position des TIN souhaités (par exemple, [1, 2, 3]). | String |
Exemple de code
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)