I'm working on an airborne lidar survey of around a thousand tiles (500m * 500m) using LAScatalog
with lidR
. I firstly ran a las_check()
... No issues reported:
las_check(CTG_Bertrix)
#> Checking headers consistency
#> - Checking file version consistency... ✓
#> - Checking scale consistency... ✓
#> - Checking offset consistency... ✓
#> - Checking point type consistency... ✓
#> - Checking VLR consistency... ✓
#> - Checking CRS consistency... ✓
#> Checking the headers
#> - Checking scale factor validity... ✓
#> - Checking Point Data Format ID validity... ✓
#> Checking preprocessing already done
#> - Checking negative outliers... ✓
#> - Checking normalization... no
#> Checking the geometry
#> - Checking overlapping tiles... ✓
#> - Checking point indexation... yes
After this initial check, I still ran filter_duplicates()
and after ran a normalize_height()
process which actually failed:
#> An error occurred when processing the chunk 998. Try to load this chunk with: chunk <-
#> readRDS("C:\Users\gef\AppData\Local\Temp\RtmpWK6Gyw/chunk998.rds")
#> las <- readLAS(chunk) 3044 points were not normalizable. Process aborted.
I loaded the considered chunk and ran again las_check()
:
#> Checking the data
#> - Checking coordinates... ✓
#> - Checking coordinates type... ✓
#> - Checking coordinates range... ✓
#> - Checking coordinates quantization... ✓
#> - Checking attributes type... ✓
#> - Checking ReturnNumber validity... ✓
#> - Checking NumberOfReturns validity... ✓
#> - Checking ReturnNumber vs. NumberOfReturns... ✓
#> - Checking RGB validity... ✓
#> - Checking absence of NAs... ✓
#> - Checking duplicated points... ✓
#> - Checking degenerated ground points... ✓
#> - Checking attribute population...
#> 🛈 'EdgeOfFlightline' attribute is not populated
#> - Checking gpstime incoherances
#> ✗ 1263 pulses (points with the same gpstime) have points with identical ReturnNumber
#> - Checking flag attributes... ✓
#> - Checking user data attribute... ✓
#> Checking the header
#> - Checking header completeness... ✓
#> - Checking scale factor validity... ✓
#> - Checking point data format ID validity... ✓
#> - Checking extra bytes attributes validity... ✓
#> - Checking the bounding box validity... ✓
#> - Checking coordinate reference system... ✓
#> Checking header vs data adequacy
#> - Checking attributes vs. point format... ✓
#> - Checking header bbox vs. actual content... ✓
#> - Checking header number of points vs. actual content... ✓
#> - Checking header return number vs. actual content... ✓
#> Checking coordinate reference system...
#> - Checking if the CRS was understood by R... ✓
#> Checking preprocessing already done
#> - Checking ground classification... yes
#> - Checking normalization... no
#> - Checking negative outliers... ✓
#> - Checking flightline classification... yes
This las file can be downloaded HERE...
As the error message is not really self-explanatory, I would like to know how to find the not normalizable points? How to fix/remove them ?