The Height Above Ground (HAG) Digital Elevation Model (DEM) filter loads a GDAL-readable raster image specifying the DEM. The Z value of each point in the input is compared against the value at the corresponding X,Y location in the DEM raster. It creates a new dimension, HeightAboveGround, that contains the normalized height values.

Normalized heights are a commonly used attribute of point cloud data. This can also be referred to as height above ground (HAG) or above ground level (AGL) heights. In the end, it is simply a measure of a point’s relative height as opposed to its raw elevation value.

Default Embedded Stage

This stage is enabled by default

Streamable Stage

This stage supports streaming operations

Example #1

Using the autzen dataset (here shown colored by elevation)


we generate a DEM based on the points already classified as ground

$ pdal translate autzen.laz autzen_dem.tif range \
    --filters.range.limits="Classification[2:2]" \
    --writers.gdal.output_type="idw" \
    --writers.gdal.resolution=6 \

and execute the following pipeline

        "raster": "autzen_dem.tif"

which is equivalent to the pdal translate command

$ pdal translate autzen.laz autzen_hag_dem.laz hag_dem \
    --filters.hag_dem.raster=autzen_dem.tif \

In either case, the result, when colored by the normalized height instead of elevation is




GDAL-readable raster to use for DEM.


GDAL Band number to read (count from 1). [Default: 1]


If true, set HAG of ground-classified points to 0 rather than comparing Z value to raster DEM. [Default: true]