Сводка
Применяет цвета и значения ближнего инфракрасного диапазона из ортографических изображений к точкам LAS.
Иллюстрация
Использование
Отображение точек LAS с использованием информации RGB может создать более глубокое, фотореалистичное изображение. Визуальное представление реальных изображений, наложенных на точки LAS, также может обеспечить более подробную информацию об отдельных характеристиках облака точек, что может быть полезно при интерактивной классификации данных, оцифровке новых объектов и выявления опорной точки при выполнении трехмерных измерений расстояния.
Наилучшие изображения для применения цветов к точкам LAS будут получены, если они будут сделаны одновременно с лидарной съемкой, для достижения наилучшего соответствия с захватываемыми объектами. Если у вас таких изображений нет, то вы можете попробовать использовать снимки, которые сняты как можно ближе к дате сканирования, чтобы минимизировать различия из-за таких событий, как строительство или сезонная вариация растительного покрова.
Если исходные изображения состоят из множества листов, рекомендуется загрузить эти листы в набор данных мозаики, чтобы ссылаться на них как на единый набор данных, и использовать его в качестве входных данных для раскрашивания данных LAS. Более подробно о создании набора данных мозаики.
Только файл LAS версии 1.4 с форматом записи точек 8 поддерживает хранение значений ближнего инфракрасного спектра для точек LAS.
Когда задается экстент обработки, весь файл LAS, который пересекается с экстентом обработки, будет расцвечен. Если требуется только поднабор входного файла LAS, воспользуйтесь инструментом Извлечь LAS, чтобы вырезать поднабор и использовать полученный файл как входной для этого инструмента.
Обычно записи точек LAS не хранятся в файле LAS в виде бинарной последовательности, которая не соответствует пространственной кластеризации точек. Когда происходит запрос к данным с таким распределением, в результате доступ к бинарным записям, представляющим точки LAS будет не эффективным. Переорганизация точек в полученном файле LAS оптимизирует данные для визуализации и выполнения других пространственных операций. Если включена опция переорганизации автоматически будет вычисляться статистика. Если вы выберите не переорганизовывать точки LAS, то вы можете включить или отключить расчет статистики. Расчет статистики оптимизирует пространственные запросы и предоставляет сводную информацию о кодах класса, а также возвращает значения, которые представлены в файле LAS. Но это также добавляет некоторое время на выполнение инструмента. Если полученные в результате файлы LAS не будут использоваться в ArcGIS, вы можете отключить расчет статистики, чтобы инструмент выполнялся быстрее.
Синтаксис
arcpy.3d.ColorizeLas(in_las_dataset, in_image, bands, target_folder, {name_suffix}, {las_version}, {point_format}, {compression}, {rearrange_points}, {compute_stats}, {out_las_dataset})
Parameter | Объяснение | Тип данных |
in_las_dataset | Обрабатываемый набор данных LAS. | LAS Dataset Layer |
in_image | Изображение, которое было использовано для присвоения цветов точкам LAS. | Mosaic Layer; Raster Layer |
bands [bands,...] | Каналы исходного изображения, которые были присвоены цветовым каналам, связанным с выходными точками LAS. | Value Table |
target_folder | Существующая папка, в которую будут записаны выходные файлы LAS. | Folder |
name_suffix (Дополнительный) | Текст, который будет присоединен к имени каждого выходного файла LAS. Каждый файл сохраняет базовое имя из источника, к которому присоединяется суффикс, заданный этим параметром. | String |
las_version (Дополнительный) | Версия LAS создаваемых выходных файлов.
| String |
point_format (Дополнительный) | Формат записи точек в выходных файлах LAS.
| Long |
compression (Дополнительный) | Указывает, будет ли выходной файл LAS в сжатом формате или в обычном формате LAS.
| String |
rearrange_points (Дополнительный) | Задает необходимость изменения порядка точек в файлах LAS.
| Boolean |
compute_stats (Дополнительный) | Определяет, следует ли вычислять статистику для файлов LAS, на которые ссылается набор данных LAS. Вычисление статистики определяет пространственный индекс для каждого файла LAS, что улучшает производительность анализа и отображения. Статистика также улучшает фильтрацию и символы, ограничивая отображение таких атрибутов LAS, как коды классификации и возвращаемая информация, значениями, которые присутствуют в файле LAS.
| Boolean |
out_las_dataset (Дополнительный) | Выходной набор данных LAS, ссылающийся на вновь созданные файлы LAS. | LAS Dataset |
Производные выходные данные
Name | Объяснение | Тип данных |
output_folder | Папка, в которую будут записаны выходные файлы LAS. | Папка |
Пример кода
В следующем примере показано использование этого инструмента в окне Python.
arcpy.env.workspace = 'C:/data'
arcpy.ddd.ColorizeLas('2014_lidar_survey.lasd', '2014_CIR.tif',
'RED Band_1; GREEN Band_2; BLUE Band_3',
'las/rgb', '_rgb', 1.3, 3, 'ZLAS',
'REARRANGE_POINTS')
В следующем примере показано использование этого инструмента в автономном скрипте Python.
'''****************************************************************************
Name: Classify Lidar & Extract Building Footprints
Description: Extract footprint from lidar points classified as buildings,
regularize its geometry, and calculate the building height.
****************************************************************************'''
import arcpy
lasd = arcpy.GetParameterAsText(0)
dem = arcpy.GetParameterAsText(1)
footprint = arcpy.GetParameterAsText(2)
try:
desc = arcpy.Describe(lasd)
if desc.spatialReference.linearUnitName in ['Foot_US', 'Foot']:
unit = 'Feet'
else:
unit = 'Meters'
ptSpacing = desc.pointSpacing * 2.25
sampling = '{0} {1}'.format(ptSpacing, unit)
# Classify overlap points
arcpy.ddd.ClassifyLASOverlap(lasd, sampling)
# Classify ground points
arcpy.ddd.ClassifyLasGround(lasd)
# Filter for ground points
arcpy.management.MakeLasDatasetLayer(lasd, 'ground', class_code=[2])
# Generate DEM
arcpy.conversion.LasDatasetToRaster('ground', dem, 'ELEVATION',
'BINNING NEAREST NATURAL_NEIGHBOR',
sampling_type='CELLSIZE',
sampling_value=desc.pointSpacing)
# Classify noise points
arcpy.ddd.ClassifyLasNoise(lasd, method='ISOLATION', edit_las='CLASSIFY',
withheld='WITHHELD', ground=dem,
low_z='-2 feet', high_z='300 feet',
max_neighbors=ptSpacing, step_width=ptSpacing,
step_height='10 feet')
# Classify buildings
arcpy.ddd.ClassifyLasBuilding(lasd, '7.5 feet', '80 Square Feet')
#Classify vegetation
arcpy.ddd.ClassifyLasByHeight(lasd, 'GROUND', [8, 20, 55],
compute_stats='COMPUTE_STATS')
# Filter LAS dataset for building points
lasd_layer = 'building points'
arcpy.management.MakeLasDatasetLayer(lasd, lasd_layer, class_code=[6])
# Export raster from lidar using only building points
temp_raster = 'in_memory/bldg_raster'
arcpy.management.LasPointStatsAsRaster(lasd_layer, temp_raster,
'PREDOMINANT_CLASS', 'CELLSIZE', 2.5)
# Convert building raster to polygon
temp_footprint = 'in_memory/footprint'
arcpy.conversion.RasterToPolygon(temp_raster, temp_footprint)
# Regularize building footprints
arcpy.ddd.RegularizeBuildingFootprint(temp_footprint, footprint,
method='RIGHT_ANGLES')
except arcpy.ExecuteError:
print(arcpy.GetMessages())
Environments
Информация о лицензиях
- Basic: Требуется 3D Analyst
- Standard: Требуется 3D Analyst
- Advanced: Требуется 3D Analyst