Это можно сделать с помощью фильтра pdal с использованием алгоритмов простого морфологического фильтра (SMRF) или прогрессивного морфологического фильтра (PMF) .
Быстро
pdal ground --cell_size=5 --extract input.laz out-bare-earth.laz
Создает файл LAS со сжатием без заземления с размером ячейки 5 единиц заземления, используя PMF. ( документы )
Для более подробного объяснения см. Идентификацию возвратов основания с помощью учебника по сегментации ProgressiveMorphologicalFilter .
Более вовлечены, используя SMRF
Пример конвейера, который:
- применяет фильтр SMRF, увеличивает параметр
cell
размера до 2,0 (единицы системы координат) и порог 0,75
- выбирает только недавно классифицированные точки заземления (
2
это стандартное значение LAS для земли)
- записывает выделение в несжатый выходной файл LAS (просто измените расширение на .laz для сжатого)
Команда: pdal pipeline "classify-ground-smrf.json"
Файл параметров JSON:
{
"pipeline": [
"inputfile.laz",
{
"type":"filters.smrf",
"cell": "2.0",
"threshold": "0.75"
},
{
"type":"filters.range",
"limits":"Classification[2:2]"
},
"out/smurf_classifed.las"
]
}
Извлекать только надземный
В этом примере а) классифицируется как земля / не земля, б) добавляется атрибут «Высота над землей», и в) экспортируются только точки 2.0 (единицы системы координат) над землей.
{
"pipeline": [
"input.laz",
{
"type": "filters.assign",
"assignment": "Classification[:]=0"
},
{
"type": "filters.smrf"
},
{
"type": "filters.hag"
},
{
"type": "filters.range",
"limits": "HeightAboveGround[2:]"
},
{
"filename":"above-ground.laz"
}
]
}
Адаптировано из Брэда Чамберса, https://lists.osgeo.org/pipermail/pdal/2017-July/001367.html