Generating a DTM

This exercise uses PDAL to generate an elevation model surface using the output from the Identifying ground exercise, PDAL’s writers.gdal operation, and GDAL to generate an elevation and hillshade surface from point cloud data.

Exercise

Note

The primary input for Digital Terrain Model generation is a point cloud with ground classifications. We created this file, called denoised-ground-only.laz, in the Identifying ground exercise. Please produce that file by following that exercise before starting this one.

Command

PDAL capability to generate rasterized output is provided by the writers.gdal stage. There is no application to drive this stage, and we must use a pipeline.

Pipeline breakdown

{
    "pipeline": [
        "./exercises/analysis/ground/denoised-ground-only.copc.laz",
        {
            "filename":"./exercises/analysis/dtm/dtm.tif",
            "gdaldriver":"GTiff",
            "output_type":"all",
            "resolution":"2.0",
            "type": "writers.gdal"
        }
    ]
}

Note

This pipeline is available in your workshop materials in the ./exercises/analysis/dtm/gdal.json file. Make sure to edit the filenames to match your paths.

1. Reader

denoised-ground-only is the COPC file we will clip. You should have created this output as part of the Identifying ground exercise.

2. writers.gdal

The writers.gdal writer that bins the point cloud data into an elevation surface.

Execution

$ pdal pipeline ./exercises/analysis/dtm/gdal.json

Visualization

Something happened, and some files were written, but we cannot really see what was produced. Let us use QGIS to visualize the output.

  1. Open QGIS and Add Raster Layer:

  2. Add the dtm.tif file from your ./exercises/analysis/dtm directory.

    ../../../_images/dtm-add-raster-mean.png ../../../_images/dtm-qgis-added-no-fill.png
  3. Go to Raster -> Analyze -> Fill nodata… and select the default values

    ../../../_images/dtm-qgis-fill-nodata.png ../../../_images/dtm-qgis-added.png
  4. Classify the DTM by right-clicking on the Filled and choosing Properties. Pick the singleband pseudocolor for the rendering type, and then choose a color ramp and click Classify.

    ../../../_images/dtm-qgis-colorize-dtm.png
  5. QGIS provides access to GDAL processing tools, and we are going to use that to create a hillshade of our surface. Choose Raster–>Analysis–>Hillshade:

    ../../../_images/dtm-qgis-select-hillshade.png
  6. Click the window for the Output file and select a location to save the hillshade.tif file.

    ../../../_images/dtm-qgis-gdaldem.png
  7. Click OK and the hillshade of your DTM is now available

    ../../../_images/dtm-qgis-hillshade-done.png

Notes

  1. gdaldem, which powers the QGIS DEM tools, is a very powerful command line utility you can use for processing data.

  2. writers.gdal can be used for large data, but it does not interpolate a typical TIN surface model.

  3. If you are missing the Raster tab, check your plugins in QGIS. If you have none

    you may need to reinstall QGIS.