Краткая информация
Создает слой набора данных LAS, который может производить отбор точек LAS и регулировать использование объектов ограничения поверхности.
Использование
Слой набора данных LAS может использоваться в качестве рабочей основы для последующего анализа. Например, цифровая модель рельефа (ЦМР) может быть с легкостью создана из лидара с помощью фильтра посредством отбора кода класса 2, представляющего наземные измерения, с последующим применением к полученному слою инструмента Набор данных LAS в растр (LAS Dataset To Raster).
-
Формат LAS поддерживает классификацию точек на основе спецификаций, разработанных обществом American Society for Photogrammetry and Remote Sensing (ASPRS). На платформе ArcGIS применяется схема классификации, предназначенная для LAS-файлов версии 1.4:
Значение классификации Тип классификации 0
Классификация не выполнялась
1
Не присвоено
2
Земля
3
Низкорослая растительность
4
Растительность средней высоты
5
Высокая растительность
6
Создание
7
Низкий шум
8
Ключевые для модели / Зарезервировано
9
Вода
10
Железная дорога
11
Дорожное покрытие
12
Наложение / Зарезервировано
13
Проволочная сетка
14
Провод
15
Опора ЛЭП
16
Изолятор
17
Мостовой настил
18
Высокий шум
19 – 63
Зарезервировано для Определения ASPRS (LAS от 1.1 до 1.3 поддерживают коды классов до 31)
32 – 255
Задается пользователем (поддерживается только в LAS 1.0 и в некоторых версиях 1.4)
Синтаксис
MakeLasDatasetLayer_management (in_las_dataset, out_layer, {class_code}, {return_values}, {no_flag}, {synthetic}, {keypoint}, {withheld}, {surface_constraints}, {overlap})
Параметр | Объяснение | Тип данных |
in_las_dataset | Обрабатываемый набор данных LAS. | LAS Dataset Layer |
out_layer | Имя слоя набора данных LAS, получаемого в результате. Для обозначения составного слоя используется любая косая черта (прямая или обратная). | Las Dataset Layer |
class_code [class_code,...] (дополнительно) |
Позволяет фильтровать точки LAS по кодам классификации. Диапазон допустимых значений будет зависеть от кодов классификации, которые поддерживаются версией файлов LAS, на которые ссылается набор данных LAS. По умолчанию будут выбраны все коды классификации.
| Long |
return_values [return_values,...] (дополнительно) | Задает возвращаемые значения, используемые для фильтрации точек LAS. Если ничего не указано, используются все возвращаемые значения.
| String |
no_flag (дополнительно) | Указывает, следует ли разрешать отображение и анализ точек, не имеющих никаких флагов классификации.
| Boolean |
synthetic (дополнительно) | Указывает, следует ли разрешить отображение и анализ точек, имеющих флаг "синтетические" (synthetic), т.е. замеренных в ходе процесса, отличного от лазерного сканирования.
| Boolean |
keypoint (дополнительно) | Указывает, следует ли разрешить отображение и анализ точек, имеющих флаг "ключевые точки модели" (model key-points), т.е. точек с характерными, значимыми измерениями, которые не следует убирать в ходе прореживания.
| Boolean |
withheld (дополнительно) | Указывает, следует ли разрешить отображение и анализ точек, имеющих флаг "исключенные" (withheld) – такие точки чаще всего представляют собой лишние, шумовые измерения.
| Boolean |
surface_constraints [surface_constraints,...] (дополнительно) | Имена объектов ограничения поверхности, которые будут включены в слое. По умолчанию все ограничения включены. | String |
overlap (дополнительно) | Указывает, следует ли разрешить отображение и анализ точек, имеющих флаг "перекрытие".
| Boolean |
Пример кода
MakeLasDatasetLayer – пример 1 (окно Python)
В следующем примере показано использование этого инструмента в окне Python.
import arcpy
from arcpy import env
arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.MakeLasDatasetLayer_management('Baltimore.lasd', 'Baltimore Layer',
2, 'LAST', 'INCLUDE_UNFLAGGED',
'EXCLUDE_SYNTHETIC', 'INCLUDE_KEYPOINT',
'EXCLUDE_WITHHELD')
MakeLasDatasetLayer, пример 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
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 Exception as err:
print(err.args[0])
finally:
arcpy.management.Delete(lasLyr)