Набор данных LAS в растр (LAS Dataset To Raster) (Конвертация)
Краткая информация
Создает растр, используя значения высоты, интенсивности или цвета RGB, сохраненные в лидарных файлах (*.las), на которые ссылается набор данных LAS.
Рисунок
Использование
Если набор данных LAS указан в качестве входных данных, будут обработаны все точки данных в LAS-файлах, на которые он ссылается.
Слой набора данных LAS можно использовать для фильтрации точек LAS по коду класса или возвращаемым значениям. Слой можно создать с помощью инструмента Создать слой набора данных LAS (Make LAS Dataset Layer) или загрузив набор данных LAS в ArcMap или ArcScene и указав нужные коды классов и возвращаемые значения в диалоговом окне свойств слоя.
-
При экспорте большого растра следует указать Выходной тип данных (Output Data Type) как целое число, чтобы сэкономить место на диске, если точность ваших данных позволяет использовать целочисленные z-значения.
Настоятельно рекомендуется включать границы изучаемой территории в качестве ограничения для вырезания в определение входного набора данных LAS. Одной из причин является предотвращение интерполяции за пределами реального экстента данных геодезии. Другой причиной является возможность значительного снижения производительности при использовании параметров естественной окрестности, если область данных определена неверно.
Примечание:При использовании BINNING задействуются только ограничения на вырезание, стирание и замену. Линии перегибов и точки якоря не используются. Опция триангуляции поддерживает все типы ограничений, однако выполнение занимает более длительное время.
Синтаксис
Параметр | Объяснение | Тип данных |
in_las_dataset |
Входной набор данных LAS. | LAS Dataset Layer |
out_raster |
Местоположение и имя выходного растра. При хранении набора растровых данных в базе геоданных или в папке, например в Esri Grid, расширение файла к имени набора растровых данных добавлять не нужно. При хранении набора растровых данных в папке для определения формата растра может быть задано расширение файла:
Если растр хранится в базе геоданных или в виде файла TIFF, тип и качество сжатия этого растра можно задать с помощью настроек среды геообработки. | Raster Dataset |
value_field (дополнительно) |
Указывает информацию лидара. которая будет использоваться для создания выходного растра.
| String |
interpolation_type "BINNING {cell_assignment_type} {void_fill_method}" or "TRIANGULATION {interpolation_method} {point_thinning_type} {point_selection_method} {resolution}" (дополнительно) |
Метод интерполяции, использованный для создания растра. BINNING— значения ячеек получаются с использованием точек, находящихся в экстенте ячейки, за исключением ячеек, которые не содержат точки в своем экстенте. При использовании этого метода доступны приведенные ниже опции:
TRIANGULATION — значения ячейки получаются путем интерполяции на основе триангулированного представления набора данных LAS. При использовании этого метода доступны приведенные ниже опции:
| String |
data_type (дополнительно) |
Тип данных выходного растра можно определить следующими ключевыми словами:
| String |
sampling_type (дополнительно) |
Указывает метод, используемый для интерпретации Значение выборки (Sampling Value) для определения разрешения выходного растра.
| String |
sampling_value (дополнительно) |
Задает значение, используемое вместе с параметром Значение выборки (Sampling Value) для определения разрешения выходного растра. | Double |
z_factor (дополнительно) |
Коэффициент, на который будут умножаться Z-значения. Этот способ обычно используется для конвертации линейных Z-единиц для соответствия линейным единицам XY. Значение по умолчанию равно 1, при нем значения высоты не изменяются. | Double |
Пример кода
В следующем примере показано использование этого инструмента в окне 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)
В следующем примере показано использование этого инструмента в автономном скрипте 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)