jblindsay / whitebox-tools

An advanced geospatial data analysis platform
https://www.whiteboxgeo.com/
MIT License
914 stars 159 forks source link

lidar_digital_surface_model extent changed #399

Open sehHeiden opened 2 months ago

sehHeiden commented 2 months ago

When converting a single LIDAR file with lidar_digital_surface_model to a surface model, the extent seams not to be treated 100 % correct for my current example.

The example is in the epsg 25832 region (although not included in the headers). The length is 1000 m. I want to export in a resolution of 1 meter.

When I overlay the DSM with the original point cloud in QGIS I see the following effect:

1) To the south, the model seams to work as expected. 2) To the south-west (~ lowest 30 m) and north-west (~ highest 20 m) the raster ends a meter too early in the western direction. 3) To the west: Along the western edge ends at the correct position everywhere else. 4) To the north: The raster ends a meter too early. 5) To the south-east and north-east: DSM end at the correct position. 6) To the east: DSM ends a meter too far to the east.

The extent of the LIDAR file is: 520999.9899999999906868,5399999.9900000002235174 : 522000.0000000000000000,5400999.9900000002235174

The extent of the DSM raster is: 520999.9899999999906868,5399999.9900000002235174 : 522000.9899999999906868,5400999.9900000002235174

I marked the difference.

This leads to the problems that, the mosaics, that are generated from files, generated this way, have gaps of 1 meter width.

When using lidar_digital_surface_model with set_working_dirand not single file names. It seems to close this gap, but takes 3 times longer, because it does not use the CPU to a full maximum. Most of the time a single core is used!

sehHeiden commented 2 months ago

My current workaround is:

export to a raster of half the resolution.Than read the extent from the lidar file and manually reproject to the new affine, I calculate from the final resolution and extent.