Краткая информация
Переопределяет область данных (зону интерполяции) поверхности TIN (Triangulated Irregular Network), на основании длины ребер ее треугольника.
Иллюстрация
Использование
Этот инструмент не отключает ни какие исходные данные. Он изменяет входную TIN посредством переклассификации включая и исключая ребра TIN из зоны интерполяции. Если вы хотите, чтобы обрабатывалась неизмененная версия TIN, попробуйте перед выполнением этого инструмента создать дубликат набора данных с помощью инструмента Копировать TIN (Copy TIN).
Перед тем, как начнется классификация по длине ребер, произойдет оценка всех ребер треугольников. Это позволит отменить любую имеющуюся классификацию области данных. Если полученный с первого раза результат будет неудовлетворительным, можно запустить инструмент с полученной TIN еще раз, не получая заново исходные данные.
Максимальные/минимальные значения длин ребер, полученные на основе характеристик вогнутости в исходных измерениях TIN, можно удалить из области корректных данных TIN с помощью данного инструмента. Треугольники, у которых хотя бы одно ребро больше, чем Максимальная длина ребра (Maximum Edge Length), маскируются как области NoData.
-
Параметр Метод (Method) задает треугольники, которые будут обрабатываться.
Синтаксис
DelineateTinDataArea_3d (in_tin, max_edge_length, {method})
Параметр | Объяснение | Тип данных |
in_tin | Обрабатываемый набор данных TIN. | TIN Layer |
max_edge_length | Двухмерное расстояние, определяющее максимальную длину ребра треугольника TIN в области данных TIN. Треугольники, для которых длина одного или нескольких ребер превышает указанное значение, будут считаться не входящими в зону интерполяции TIN, не будут отображаться на картах и не будут использоваться при анализе поверхности. | Double |
method (Дополнительный) | Ребра TIN, оценка которых будет проведена при установке границ области данных TIN.
| String |
Пример кода
DelineateTinDataArea, пример 1 (окно Python)
В следующем примере показано использование этого инструмента в окне Python.
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.DelineateTinDataArea_3d("elevation", 10, "PERIMETER_ONLY")
DelineateTinDataArea, пример 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)
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Требует 3D Analyst
- ArcGIS Desktop Standard: Требует 3D Analyst
- ArcGIS Desktop Advanced: Требует 3D Analyst
Связанные разделы
- Обзор группы инструментов Управление данными
- Теоретические основы поверхностей
- Форматы поверхностей
- Концепция поверхности на основе TIN
- Что такое TIN поверхность?
- Основные сведения о создании поверхностей TIN
- Основы редактирования TIN поверхностей
- Редактирование пространственных объектов TIN с помощью инструментов геообработки
- Инструменты геообработки для поверхностей TIN