Сводка
Создает линейный или полигональный класс пространственных объектов, представляющий зону интерполяции набора данных триангуляционной нерегулярной сети (TIN).
Иллюстрация
Использование
Этот инструмент можно использовать для создания выпуклой оболочки (минимального ограничивающего полигона) вокруг набора точек. Если для определения TIN нет вырезающих или стирающих полигонов, то домен эквивалентен выпуклой оболочке.
Выходная геометрия размещается в записи одного объекта и может быть цельной либо составной геометрией в зависимости от природы интерполяции. Например, если зона интерполяции состоит из островов или включает отверстия, итоговая геометрия будет составной.
Синтаксис
arcpy.ddd.TinDomain(in_tin, out_feature_class, out_geometry_type)
Параметр | Объяснение | Тип данных |
in_tin | Обрабатываемый набор данных TIN. | TIN Layer |
out_feature_class | Класс объектов, который будет получен в результате работы инструмента. | Feature Class |
out_geometry_type | Тип геометрии выходного класса объектов.
| String |
Пример кода
TinDomain, пример 1 (окно Python)
В следующем примере показано использование этого инструмента в окне Python.
import arcpy
from arcpy import env
arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.TinDomain_3d('tin', 'tin_domain.shp')
TinDomain, пример 2 (автономный скрипт)
В следующем примере показано использование этого инструмента в автономном скрипте 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)
Параметры среды
Информация о лицензиях
- Basic: Требуется 3D Analyst
- Standard: Требуется 3D Analyst
- Advanced: Требуется 3D Analyst