Input data preprocessing
This section describes a list of pre-processing steps that can be applied to Bulldozer input data to produce a DTM that meets user requirements:
- Handle Point Cloud (PC) format DSM
- Manage the nodata value
- Update DSM resolution
- Change the DSM Coordinates Reference System (CRS)
The quality of the resulting DTM strongly depends on the quality, resolution, and projection of the input DSM.
Handle Point Cloud (PC) format DSM
If you're working with DSM in point cloud format (.las / .laz), it must first be rasterized before being used with Bulldozer.
To do this, you can use the CNES tool cars-rasterize with the following command:
las2tif dsm.laz raster_format_dsm.tif
Otherwise you can use tools such as PDAL.
Ensure that:
- The output raster has a consistent grid resolution
- A proper nodata value is defined
- The CRS is correctly assigned
Manage the nodata value
To check the nodata value of your input DSM, you can use the gdalinfo command in the GDAL library:
gdalinfo input_dsm.tif | grep NoData
If the nodata value is missing or incorrect, it must be updated.
Example using rasterio:
import rasterio
input_dsm = "input_dsm.tif"
with rasterio.open(input_dsm, "r+") as dataset:
dataset.nodata = -32768
Warning
Ensure the chosen nodata value does not conflict with valid elevation values.
Update DSM resolution
The resolution of the produced DTM is directly driven by the input DSM resolution.
For example, if you want to produce a 30m DTM from a 50cm DSM, you must first resample the DSM before running Bulldozer.
Example using gdalwarp from the GDAL library:
gdalwarp -tr 30 30 -r bilinear input_dsm.tif resampled_dsm.tif
Choosing the resampling method
bilinear: recommended for continuous elevation dataaverage: recommended when aggregating high-resolution DSMcubic: may introduce smoothing artefacts
Warning
Downsampling significantly modifies terrain characteristics.
Fine-scale features and micro-topography may be lost.
Change the DSM Coordinate Reference System (CRS)
The output DTM generated by Bulldozer preserves the Coordinate Reference System (CRS) of the input DSM. Consequently, to obtain a DTM in a different CRS, the input DSM must first be reprojected.
For example, if you want to reproject a DSM from the RGF93 v1 / Lambert-93 (ESPG:2154) CRS into the WGS 84 / UTM zone 32N (EPSG:32632) datum, you can use gdalwarp from the GDAL library:
gdalwarp -t_srs EPSG:32632 input_dsm.tif reprojected_dsm.tif
You can then provide this reprojected DSM as input to Bulldozer in order to generate a DTM in the CRS you want.
Recommendations
- Prefer projected metric CRS (e.g., UTM, Lambert)
- Avoid geographic CRS (lat/lon) for terrain analysis
- Ensure vertical units remain consistent