Набор данных LAS в растр (LAS Dataset To Raster) (Конвертация)

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

Резюме

Создает растр, используя значения высоты, интенсивности или цвета RGB, сохраненные в лидарных файлах (*.las), на которые ссылается набор данных LAS.

Рисунок

Набор данных LAS в растр

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

Синтаксис

LasDatasetToRaster_conversion (in_las_dataset, out_raster, {value_field}, {interpolation_type}, {data_type}, {sampling_type}, {sampling_value}, {z_factor})
ПараметрОбъяснениеТип данных
in_las_dataset

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

LAS Dataset Layer
out_raster

Местоположение и имя выходного растра. При хранении набора растровых данных в базе геоданных или в папке, например в Esri Grid, расширение файла к имени набора растровых данных добавлять не нужно. При хранении набора растровых данных в папке для определения формата растра может быть задано расширение файла:

  • .bil – Esri BIL
  • .bip – Esri BIP
  • .bsq – Esri BSQ
  • .dat – ENVI DAT
  • .img – ERDAS IMAGINE
  • .png – PNG
  • .tif – TIFF

Если растр хранится в базе геоданных или в виде файла TIFF, тип и качество сжатия этого растра можно задать с помощью настроек среды геообработки.

Raster Dataset
value_field
(дополнительно)

Указывает информацию лидара. которая будет использоваться для создания выходного растра.

  • ELEVATIONДля создания растра будет использоваться рельеф из файлов лидара. Это значение используется по умолчанию.
  • INTENSITYДля создания растра будет использоваться значения интенсивности из файлов лидара.
  • RGBДля создания растра будут использоваться изображения, полученные из значений RGB, встроенных в точки лидара.
String
interpolation_type
"BINNING {cell_assignment_type} {void_fill_method}" or "TRIANGULATION {interpolation_method} {point_thinning_type} {point_selection_method} {resolution}"
(дополнительно)

Метод интерполяции, использованный для создания растра.

BINNING— значения ячеек получаются с использованием точек, находящихся в экстенте ячейки, за исключением ячеек, которые не содержат точки в своем экстенте. При использовании этого метода доступны приведенные ниже опции:

  • Метод присвоения значений ячейкам— метод, используемый для определения значения любой ячейки, содержащей в своем экстенте точки.
    • AVERAGE— назначение среднего значения всех точек в ячейке. Это значение используется по умолчанию.
    • MINIMUM— назначение минимального значения, найденного в точках ячейки.
    • MAXIMUM— назначение максимального значения, найденного в точках ячейки.
    • IDW— использование интерполяции по методу взвешенных расстояний для определения значения ячейки.
    • NEAREST — использование метода назначения ближайшей окрестности для определения значения ячейки.
  • Метод заполнения пустот — метод интерполяции, который используется для определений значений ячеек, не имеющих точек в своем экстенте.
    • NONE — ячейке присваивается значение NoData.
    • SIMPLE — служит для вычисления средних значений в ячейках данных непосредственно вокруг ячейки NoData во избежание небольших пропусков.
    • LINEAR — триангуляция незанятых областей и использование линейной интерполяции триангулированного значения для определения значения ячейки. Это значение используется по умолчанию.
    • NATURAL_NEIGHBOR — использование интерполяции по методу естественной окрестности для определения значения ячейки.

TRIANGULATION — значения ячейки получаются путем интерполяции на основе триангулированного представления набора данных LAS. При использовании этого метода доступны приведенные ниже опции:

  • Метод интерполяции — метод интерполяции, определяющий значения ячеек:
    • LINEAR — для определения значения ячейки используется линейная интерполяция триангулированной поверхности набора данных LAS.
    • NATURAL_NEIGHBOR — для определения значения ячейки используется интерполяция по методу естественной окрестности.
  • Тип прореживания точек — служит для определения, будут ли прореживаться точки данных LAS:
    • NONE — точки LAS прореживаться не будут. Это значение используется по умолчанию.
    • WINDOW_SIZE — точки LAS будут прореживаться путем идентификации точки, которая удовлетворяет критерию выборки в области, определенной размером окна.
  • Метод выбора точки — метод выбора, используемый для прореживания точек данных LAS при использовании прореживания WINDOW_SIZE:
    • MAXIMUM — сохраняется точка с самым высоким значением в каждом размере окна. Это значение используется по умолчанию.
    • MINIMUM — сохраняется точка с самым низким значением в каждом размере окна.
    • CLOSEST_TO_MEAN — сохраняется точка, находящаяся ближе всего к среднему значению всех точек в размере окна.
  • Разрешение — числовое значение, которое определяет область размера окна, используемого для прореживания точек.
String
data_type
(дополнительно)

Тип данных выходного растра можно определить следующими ключевыми словами:

  • FLOATВыходной растр будет использовать 32-битовое число с плавающей точкой со значениями от -3.402823466e+38 до 3.402823466e+38. Это значение используется по умолчанию.
  • INTВыходной растр будет использовать соответствующую целочисленную разрядность. При использовании этой опции z-значения будут округлены до целого числа, которое будет использовано в качестве значения ячейки растра.
String
sampling_type
(дополнительно)

Указывает метод, используемый для интерпретации Значение выборки (Sampling Value) для определения разрешения выходного растра.

  • OBSERVATIONSОпределяет число ячеек, разделяющих самую длинную сторону экстента набора данных LAS.
  • CELLSIZEОпределяет размер ячейки выходного набора растровых данных. Это значение используется по умолчанию.
String
sampling_value
(дополнительно)

Задает значение, используемое вместе с параметром Значение выборки (Sampling Value) для определения разрешения выходного растра.

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

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

Double

Пример кода

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

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.LasDatasetToRaster_3d('baltimore.lasd', 'baltimore.tif', 'INTENSITY', 
                          'TRIANGULATION LINEAR WINDOW_SIZE 10', 'FLOAT', 
                          'CELLSIZE', 10, 3.28)
LasDatasetToRaster — пример 2 (отдельный сценарий)

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

'''*********************************************************************
Name: Export Elevation Raster from Ground LAS Measurements
Description: This script demonstrates how to export
             ground measurements from LAS files to a raster using a 
             LAS dataset. This sample is designed to be used as a script
             tool.
*********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback

try:
    # Set Local Variables
    inLas = arcpy.GetParameterAsText(0)
    recursion = arcpy.GetParameterAsText(1)
    surfCons = arcpy.GetParameterAsText(2)
    classCode = arcpy.GetParameterAsText(3)
    returnValue = arcpy.GetParameterAsText(4)
    spatialRef = arcpy.GetParameterAsText(5)
    lasD = arcpy.GetParameterAsText(6)
    outRaster = arcpy.GetParameterAsText(7)
    cellSize = arcpy.GetParameter(8)
    zFactor = arcpy.GetParameter(9)
    if arcpy.ProductInfo == 'ArcView':
        arcpy.CheckOutExtension('3D')
    # Execute CreateLasDataset
    arcpy.management.CreateLasDataset(inLas, lasD, recursion, surfCons, sr)
    # Execute MakeLasDatasetLayer
    lasLyr = arcpy.CreateUniqueName('Baltimore')
    arcpy.management.MakeLasDatasetLayer(lasD, lasLyr, classCode, returnValue)
    # Execute LasDatasetToRaster
    arcpy.conversion.LasDatasetToRaster(lasLyr, outRaster, 'ELEVATION',
                              'TRIANGULATION LINEAR WINDOW_SIZE 10', 'FLOAT',
                              'CELLSIZE', cellSize, zFactor)
    arcpy.GetMessages()
    
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)
    
finally:
    arcpy.management.Delete(lasLyr)

Параметры среды

Связанные темы

Информация о лицензировании

ArcGIS for Desktop Basic: Требует Spatial Analyst или 3D Analyst
ArcGIS for Desktop Standard: Требует Spatial Analyst или 3D Analyst
ArcGIS for Desktop Advanced: Да
9/10/2013