Доступно с лицензией 3D Analyst.
Краткая информация
Этот инструмент импортирует одну или более поверхностей нерегулярной триангулированной сети (TIN) из файла LandXML в выходные Esri TIN наборы данных.
Использование
Если выбран файл LandXML, параметр TINы для импорта заполняется всеми найденными в файле LandXML поверхностями TIN. TIN из файла LandXML, построенный по методу Делоне с ограничениями, при импорте сохраняет метод построения.
При написании скриптов, имена в параметре tinnames могут указываться для удобства в сокращенной форме (только цифры, или только имена). Вместо "1. Site0445; 2. <unnamed>; 3. <unnamed>; 4. Site_09", можно задать "1;2;3;4" или "Site0445; Site_09;2;3". Ключевое слово <unnamed> не может использоваться само по себе, так как TIN должен иметь уникальную идентификацию.
Синтаксис
LandXMLToTin_3d (in_landxml_path, out_tin_folder, tin_basename, {tinnames})
Параметр | Объяснение | Тип данных |
in_landxml_path | Входной файл LandXML. | File |
out_tin_folder | Папка, в которой будут созданы выходные наборы данных TIN. | Folder |
tin_basename | Базовое имя для выходного набора данных TIN. Если из файла LandXML экспортируется несколько наборов данных TIN, то базовое имя используется для создания уникального имени для каждого выходного набора данных TIN. Если <basename> уже существует, инструмент не будет ничего перезаписывать. Если <basename> не существует, но есть <basename>2,то инструмент создаст <basename> и <basename>2_1, вместо <basename>2. | String |
tinnames [name,...] (Дополнительный) | Одна или две поверхности LandXML TIN, которые будут экспортироваться в Esri TIN. Каждый набор данных LandXML TIN может определяться именем или позицией индекса в файле LandXML, где число 1 представляет первый TIN, 2 указывает на второй и так далее. | String |
Пример кода
LandXMLToTin; пример 1 (окно Python)
В следующем примере показано использование этого инструмента в окне Python.
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.LandXMLToTin_3d("surfaces.xml", "TINs", "_", "1;2")
LandXMLToTin, пример 2 (автономный скрипт)
В следующем примере показано использование этого инструмента в автономном скрипте Python.
'''****************************************************************************
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)
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Требует 3D Analyst
- ArcGIS Desktop Standard: Требует 3D Analyst
- ArcGIS Desktop Advanced: Требует 3D Analyst