LiDAR Python Tutorial: Ground Classification, DTM and Canopy Height Model from a Point Cloud
GeoAI Lab
0:00 / 0:00
LiDAR Python Tutorial: Ground Classification, DTM and Canopy Height Model from a Point Cloud
50 просмотров · 1 дн. назад
GeoAI Lab
5 подписчиков
50 просмотров · 1 дн. назад
Turn a raw airborne LiDAR point cloud (10.6 million points) into a bare-earth terrain model, a surface model and a canopy height map, in plain Python. We write the ground classifier ourselves, a progressive morphological filter in under 20 lines with NumPy and SciPy, check it against the vendor's labels (93% agreement, 98% of ground points recovered), and export GeoTIFFs and a classified LAZ ready for QGIS. The same script runs unchanged on any LAS or LAZ tile.
Chapters:
00:00 Intro
01:10 Setup and data
02:32 Load and explore
03:59 Ground classification
06:59 Terrain, surface and canopy height
09:24 Cross-section check
09:58 Export to QGIS
10:36 Parameters and pitfalls
11:24 Next episode
Data: Autzen Stadium tile, an open sample published by the PDAL project
https://github.com/PDAL/data/tree/main/autzen
Code: https://github.com/IbrahimUWA/geoai-lab-tu...
Install: pip install laspy lazrs numpy scipy matplotlib rasterio
Run: python lidar_pipeline.py input.laz output_folder
Method: Zhang et al. (2003), "A progressive morphological filter for removing nonground measurements from airborne LIDAR data", IEEE Transactions on Geoscience and Remote Sensing 41(4).
GeoAI Lab: drones, LiDAR and machine learning for the land. A new tutorial every week, all open data and free software, so you can follow along on your own machine. Narration in this episode uses a neural text-to-speech voice.
Next episode: detecting individual trees in drone imagery with deep learning.
Next episode: DeepForest Tutorial: Detect Individual Trees in Drone Imagery with Deep Learning (CPU only) • DeepForest Tutorial: Detect Individual Tre...
Full playlist: • GeoAI Lab tutorials: drones, LiDAR and mac...
#LiDAR #Python #GIS #PointCloud #RemoteSensing #QGIS