Набор данных 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, соответствующих линейным единицам измерения 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
9/10/2013