Disponible avec une licence 3D Analyst.
Résumé
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 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.
Lors de la création de scripts, 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. <unnamed>; 3. <unnamed>; 4. Site_09", vous pouvez spécifier "1;2;3;4" ou "Site0445; Site_09;2;3". Le mot-clé <unnamed> ne peut pas être utilisé seul, car le TIN doit être identifié de manière unique.
Syntaxe
LandXMLToTin_3d (in_landxml_path, out_tin_folder, tin_basename, {tinnames})
Paramètre | Explication | Type de données |
in_landxml_path | Fichier LandXML en entrée. | File |
out_tin_folder | Dossier dans lequel les TIN en sortie seront créés. | Folder |
tin_basename | Nom de base du TIN résultant. Lorsque plusieurs TIN sont exportés à partir du fichier LandXML, le nom de base est utilisé pour définir un nom unique pour chaque TIN en sortie. Si <basename> existe déjà, l'outil n'enregistre rien. Si <basename> n'existe pas mais que <basename>2 existe, l'outil crée <basename> et <basename>2_1, au lieu de <basename>2. | String |
tinnames [name,...] (Facultatif) | La ou les surfaces TIN LandXML qui seront exportées vers un TIN Esri. Chaque TIN LandXML peut être spécifié par son nom ou sa position d'index dans le fichier LandXML, où le chiffre 1 représente le premier TIN, le chiffre 2 identifie le deuxième, etc. | String |
Exemple de code
1er exemple d'utilisation du constructeur LandXMLToTin (fenêtre Python)
L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python.
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.LandXMLToTin_3d("surfaces.xml", "TINs", "_", "1;2")
2e exemple d'utilisation du constructeur LandXMLToTin (script autonome)
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome.
'''****************************************************************************
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)
Environnements
Informations de licence
- ArcGIS Desktop Basic: Requiert 3D Analyst
- ArcGIS Desktop Standard: Requiert 3D Analyst
- ArcGIS Desktop Advanced: Requiert 3D Analyst