filters.hag_dem#
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.
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 \
--writers.gdal.window_size=24
and execute the following pipeline
[
"autzen.laz",
{
"type":"filters.hag_dem",
"raster": "autzen_dem.tif"
},
{
"type":"writers.las",
"filename":"autzen_hag_dem.laz",
"extra_dims":"HeightAboveGround=float32"
}
]
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 \
--writers.las.extra_dims="HeightAboveGround=float32"
In either case, the result, when colored by the normalized height instead of elevation is
Options#
- raster
GDAL-readable raster to use for DEM.
- band
GDAL Band number to read (count from 1). [Default: 1]
- zero_ground
If true, set HAG of ground-classified points to 0 rather than comparing
Z
value to raster DEM. [Default: true]
- where
An expression that limits points passed to a filter. Points that don’t pass the expression skip the stage but are available to subsequent stages in a pipeline. [Default: no filtering]
- where_merge
A strategy for merging points skipped by a
where
option when running in standard mode. Iftrue
, the skipped points are added to the first point view returned by the skipped filter. Iffalse
, skipped points are placed in their own point view. Ifauto
, skipped points are merged into the returned point view provided that only one point view is returned and it has the same point count as it did when the filter was run. [Default:auto
]