Набор данных 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-значения. Этот способ обычно используется для конвертации линейных 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: Да
ArcGIS for Desktop Advanced: Да
6/5/2014