Набор данных LAS в TIN (3D Analyst)

Уровень лицензии:BasicStandardAdvanced

Краткая информация

Экспортирует нерегулярную сеть треугольников TIN на основе набора данных лазерного сканирования LAS.

Рисунок

Набор данных LAS в TIN

Использование

Синтаксис

LasDatasetToTin_3d (in_las_dataset, out_tin, {thinning_type}, {thinning_method}, {thinning_value}, {max_nodes}, {z_factor})
ПараметрОбъяснениеТип данных
in_las_dataset

Входной набор данных LAS.

LAS Dataset Layer
out_tin

Выходной набор данных TIN.

TIN
thinning_type
(дополнительно)

Тип прореживания, используемый для уменьшения числа точек в данных LAS для получения узлов TIN.

  • Нет (NONE) — прореживание не применяется, не требуется никакого метода или значения прореживания. Это значение используется по умолчанию.
  • Случайный (RANDOM) — случайно отбирает точки из данных LAS в соответствии с выбором Метода прореживания (Thinning Method) и Значения прореживания (Thinning Value).
  • Размер окна (WINDOW_SIZE) — уменьшает число точек в данных LAS путем оценки каждой квадратной области, заданной Значением прореживания (Thinning Value), при этом отбор точек LAS производится согласно Методу прореживания (Thinning Method).
String
thinning_method
(дополнительно)

Метод прореживания определяет методику уменьшения точек в данных LAS, а также влияет на трактовку Значения прореживания (Thinning Value). Доступные опции зависят от выбранного Типа прореживания (Thinning Type).

Для типа Случайный (RANDOM):

  • PERCENTЗначение прореживания отражает процент узлов при полном разрешении набора данных LAS.
  • Число узлов (NODE_COUNT)Значение прореживания отражает полное число узлов, допустимое в результате.

Для типа Размер окна (WINDOW_SIZE):

  • MINIMUMВыбирает точки в данных LAS, имеющие наименьшую высоту в каждой из автоматически рассчитанных областей размера окна.
  • MAXIMUMВыбирает точки в данных LAS, имеющие наибольшую высоту в каждой из автоматически рассчитанных областей размера окна.
  • Ближайшие к среднему (CLOSEST_TO_MEAN)Выбирает точки в данных LAS, высота которых наиболее близка к среднему значению высоты точек, находящихся в автоматически определенных областях размера окна.
String
thinning_value
(дополнительно)

Значение, связанное с выбранным Типом прореживания (Thinning Type) и Методом прореживания (Thinning Method).

Для методов прореживания, доступных при типе выбора точек Случайный (RANDOM):

  • Процент (PERCENT) — значение представляет собой процент от всех точек при полном разрешении набора данных LAS.
  • Число узлов (NODE_COUNT) — значение представляет собой полное число узлов, допустимое в выходной TIN.

Для любого из методов прореживания типа Размер окна (WINDOW_SIZE) значение характеризует области, на которые делится экстент набора данных LAS для выборки точек.

Double
max_nodes
(дополнительно)

Максимальное количество узлов, разрешенное для выходной TIN. Значение по умолчанию — 5 миллионов узлов.

Double
z_factor
(дополнительно)

Коэффициент, на который будут умножаться Z-значения. Этот способ обычно используется для конвертации линейных Z-единиц для соответствия линейным единицам XY. Значение по умолчанию равно 1, при нем значения высоты не изменяются.

Double

Пример кода

LasDatasetToTin — пример 1 (окно Python)

В следующем примере показано использование этого инструмента в окне Python:

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'

arcpy.LasDatasetToTin_3d('se_baltimore.lasd', 'se_bmore', 'RANDOM', 15, 3.28)
LasDatasetToTin — пример 2 (автономный скрипт)

В следующем примере показано использование этого инструмента в автономном скрипте Python:

'''**********************************************************************
Name: LAS Dataset to TIN Example
Description: Create a TIN using bare earth lidar measurements. This 
             script is designed for use as a script tool.
**********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback

# Set Local Variables
lasD = arcpy.GetParameterAsText(0)
inLas = arcpy.GetParameterAsText(1) #input las files
surfCons = arcpy.GetParameterAsText(2) #input surface constraints
sr = arcpy.GetParameter(3) #spatial reference of las dataset
outTin = arcpy.GetParameterAsText(4)
thinningType = arcpy.GetParameterAsText(5)
thinningMethod = arcpy.GetParameterAsText(6)
thinningValue = arcpy.GetParameter(7)
zFactor = arcpy.GetParameter(8)

try:
    arcpy.CheckOutExtension('3D')
    # Execute CreateLasDataset
    arcpy.management.CreateLasDataset(inLas, lasD, 'RECURSION', surfCons, sr)
    lasLyr = arcpy.CreateUniqueName('lasdToTin', 'in_memory')
    classCode = 2
    returnValue = 'LAST'
    # Execute MakeLasDatasetLayer
    arcpy.management.MakeLasDatasetLayer(lasD, lasLyr, classCode, returnValue)
    # Define extent of the area of interest
    env.extent(1426057, 606477, 1449836, 623246)
    # Execute LasDatasetToTin
    arcpy.ddd.LasDatasetToTin(lasLyr, outTin, thinningType, 
                              thinningMethod, thinningValue, zFactor)
    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 for Desktop Basic: Требует 3D Analyst
ArcGIS for Desktop Standard: Требует 3D Analyst
ArcGIS for Desktop Advanced: Требует 3D Analyst
5/10/2014