Сводка
Переопределяет область данных (зону интерполяции) поверхности TIN (Triangulated Irregular Network), на основании длины ребер ее треугольника.
Иллюстрация
Использование
Этот инструмент не отключает ни какие исходные данные. Он изменяет входную TIN посредством переклассификации включая и исключая ребра TIN из зоны интерполяции. Если вы хотите, чтобы обрабатывалась неизмененная версия TIN, попробуйте перед выполнением этого инструмента создать дубликат набора данных с помощью инструмента Копировать TIN (Copy TIN).
Перед тем, как начнется классификация по длине ребер, произойдет оценка всех ребер треугольников. Это позволит отменить любую имеющуюся классификацию области данных. Если полученный с первого раза результат будет неудовлетворительным, можно запустить инструмент с полученной TIN еще раз, не получая заново исходные данные.
Максимальные/минимальные значения длин ребер, полученные на основе характеристик вогнутости в исходных измерениях TIN, можно удалить из области корректных данных TIN с помощью данного инструмента. Треугольники, у которых хотя бы одно ребро больше, чем Максимальная длина ребра, маскируются как области NoData.
Примечание:
Значение Максимальная длина ребра (Maximum Edge Length) лучше всего определять исходя из среднего интервала между узлами TIN в пределах областей, считающихся зонами допустимых данных. Используйте значение, которое больше среднего интервала. Для успешного применения данного инструмента следует хорошо знать природу данных, использующихся для построения TIN.
Параметр Метод задает треугольники, которые будут обрабатываться.
Примечание:
Используйте Ребра периметра (method = "PERIMETER_ONLY" в Python), если вогнутые части данных направлены к внешним конечностям TIN.
Синтаксис
arcpy.3d.DelineateTinDataArea(in_tin, max_edge_length, {method})
Parameter | Объяснение | Тип данных |
in_tin | Обрабатываемый набор данных TIN. | TIN Layer |
max_edge_length | Двухмерное расстояние, определяющее максимальную длину ребра треугольника TIN в области данных TIN. Треугольники, для которых длина одного или нескольких ребер превышает указанное значение, будут считаться не входящими в зону интерполяции TIN, не будут отображаться на картах и не будут использоваться при анализе поверхности. | Double |
method (Дополнительный) | Ребра TIN, оценка которых будет проведена при установке границ области данных TIN.
| String |
Производные выходные данные
Name | Объяснение | Тип данных |
derived_out_tin | Обновленная TIN. | Слой TIN |
Пример кода
В следующем примере показано использование этого инструмента в окне Python.
arcpy.env.workspace = "C:/data"
arcpy.DelineateTinDataArea_3d("elevation", 10, "PERIMETER_ONLY")
В следующем примере показано использование этого инструмента в автономном скрипте 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
# 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:
# Execute LASToMultipoint
lasMP = arcpy.CreateUniqueName('lasMultipoint', 'in_memory')
arcpy.ddd.LASToMultipoint(inLas, LasMP, ptSpacing, class_code,
"ANY_RETURNS", "", sr, inFormat, zfactor)
# Execute CreateTin
arcpy.ddd.CreateTin(outTin, sr, "{0} Shape.Z masspoints"\
.format(lasMP), "Delaunay")
# Execute CopyTin
arcpy.ddd.CopyTin(outTin, "{0}_copy".format(outTin))
# Execute DelineateTinDataArea
maxEdge = ptSpacing * 4
arcpy.ddd.DelineateTinDataArea(outTin, maxEdge, "PERIMETER_ONLY")
# Execute TinDomain
arcpy.ddd.TinDomain(outTin, outBoundary, "POLYGON")
except arcpy.ExecuteError:
print(arcpy.GetMessages())
except Exception as err:
print(err)
Environments
Информация о лицензиях
- Basic: Требуется 3D Analyst
- Standard: Требуется 3D Analyst
- Advanced: Требуется 3D Analyst