How I can get Digital Height Model (only object heights, DSM - DTM = DHM)?
Many applications can do this, but they convert it to GRID or TIN format. I was wondering if it was possible to keep the data as point clouds.
An option to normalize* LiDAR point clouds (and keep it as a point cloud) is Fusion. One will need the command line ClipData
together with the switches: dtm:file
, which is the bare-earth model (DTM), and height
.
ClipData description says:
...When used in conjunction with a bare-earth surface model, this logic allows for sampling a range of heights above ground within the sample area.
When the switches dtm:file
and height
are added, each return in the lidar cloud will have the elevation subtracted by the elevation in the corresponding pixel in the DTM. The output file will be of type .las
, where the z coordinates will be heights.
It will also work with .laz files (compressed .las) in Fusion's version 3.4 and above, but needs LAStools installation too.
The ClipData syntax to perform such analysis would be the following:
ClipData /height /dtm:file InputSpecifier SampleFile [MinX MinY MaxX MaxY]
ClipData
is the command line itself./height
and /dtm:file
are the switches necessary to normalize the cloud.InputSpecifier
is the original .las file, SampleFile
is the output file (.las file).For example: let's assume our lidar file has name gross.las
and it is stored under the directory C:/LiDAR. The DTM is stored in the same directory with name bare_earth.dtm
1. The bounding box UTM coordinates of gross.las
are: 7100000 7200000 730000 740000
. The normalized cloud will be named normalized.las
and it will be stored in the same directory as the other files. Fusion is installed under the directory C:
. Type this:
C:\Fusion\ClipData /height /dtm:C:\LiDAR\bare_earth.dtm C:\LiDAR\gross.las C:\LiDAR\normalized.las 7100000 7200000 730000 740000
1. One needs to have the bare-earth model with the .dtm Fusion's format to run ClipData. Refer to this thread to learn how to generate a DTM starting from a non classified lidar cloud. Then, use Fusion's ASCII2DTM
tool to convert the DTM from .asc format to .dtm extension.
*Scheme about the normalizing process.
Fusion LiDAR can do that, try download. User manual is simple and you can process lidar files via command line. http://forsys.cfr.washington.edu/fusion/fusionlatest.html
edit: FUSION Manual: http://forsys.cfr.washington.edu/fusion/FUSION_manual.pdf
try to search it using "normalize". You can create bare earth file using GroundFilter.
The steps for normalizing point clouds in LiDAR360 are as follows:
(1) Remove outlier points to improve the quality (Data Management > Point Cloud Tools > Outlier Removal);
(2) Classify ground points (Classify > Classify Ground Points);
(3) Generate DEM (Terrasin > DEM);
(4) Normalize the point cloud data based on DEM file (Data Management > Point Cloud Tools > Normalization).