News from the Software Side: How to Generate a DTM in RiSCAN PRO

Raw Scan Data - Height Coloured

Located in the southern province of Styria, a mountainous area provided the scene for a perfect test site for airborne laser scanning data. Due to fair weather conditions and minor snow coverage, an excellent dataset was captured with the high performance RIEGL  Airborne Laser Scanner system NP680i mounted on RIEGL’s DA42 Multi Purpose Platform in December 2010.
This dataset can now be used for various tests and post processing purposes.

Today, scan data is heavily used in projects of all scales, due to its proven reliability and accuracy. In everyday work, our customers are facing data captured by different platforms (airborne, mobile, terrestrial) with different characteristics, resulting in a need for different software packages for post processing. RiSCAN PRO has evolved from a mere data acquisition software to a widely accepted post processing package for terrestrial laser scanning projects. This article aims at providing the project manager, who is familiar with RiSCAN PRO and has the need to process additional ALS data from time to time, with some useful information. We will show how to use RiSCAN PRO’s built-in filter functions to separate ground points from non-ground points, triangulate a digital elevation model and create low vegetation and high vegetation layers.

As mentioned before, the dataset was captured with RIEGL’s NP680i Airborne Scanner. Therefore, data acquisition and geo-referencing were done in RiPROCESS. So, the first task is to import the data into RiSCAN PRO. For that purpose, suitable coordinate reductions have to be defined in the POP (Project Orientation and Position) Matrix. This can be done by double clicking on the POP entry in the project manager tab and entering the coordinates into the position column. The values entered here will be subtracted from the global coordinates during the import of the ALS data. We start the importing process by selecting the "import" function in the context menu, either of a ScanPosition or the POLYDATA folder in the OBJECTS level.

Once the data has been imported, we move on to the calculation of the Digital Terrain Model. For the computation of the DTM a separation between ground points and non-ground points is necessary. The idea is to define a rectangular raster covering the entire project area and find the point with the lowest elevation (= minimum Z coordinate) within each raster cell. From these points a rough terrain model is calculated, which is then used to separate the ground points from the non-ground points. Here is a quick guide how to do this in RiSCAN PRO:

1. Raster Filter: Filter the dataset with the "2.5D Raster" filter. This filter can be found by right-clicking on the data file name in the project manager. Selecting "Filter data…" will bring up the toolbox with all filters available in RiSCAN PRO. Here set the checkbox next "2.D Raster" and mark the filter to see its properties tab. Select a reference plane, raster cell dimension and the search criteria "True Minimum" (Click the image besides to get an enlarged view of the filter settings. Entry fields are marked yellow.). Click the OK button to start the filtering process. RiSCAN PRO will create a new dataset with the results.

2. Triangulation: Load this dataset into an object view, select all points and choose "Plane Triangulation" to create a meshed surface.

3. Separation: Load the point cloud into an object view and select the function “surface comparison“ from the context menu of the data in the object inspector. This brings up the properties tab. Make sure to define the previously created mesh surface as reference mesh, by simply dragging and dropping it onto the name field that is marked blue. Select a min. distance and max. distance value for surface comparison and run the calculation. This will colour all points within the defined bandwidth according to the selected colour table (Click the image besides to get an enlarged view of the settings.). What is relevant to us is all the point data outside this bandwidth. Therefore set the checkmark for "select coloured points" and hit the "Update" button and invert the resulting selection. Cutting this data to a new polydata will leave a pointcloud with most of the vegetation cut away.

An iteration of the steps 1 to 3 with a reduction of the cell size in the 2.5D Raster and a reduction of the min./max. distance will refine the filtering and provides the pointcloud for a very detailed digital terrain model. The table below gives an overview of the values for the raster cell width and the settings for the min./max. distance of the surface comparison function used for computation. Keep in mind that they are not fixed and may be adapted to your needs. The final iteration provides us with a point cloud of ground points only. After triangulation, this is the resulting DTM we will use for further processing.



Raster width [m]

Min./max. distance [m]
















The next step is the definition of vegetation layers. To demonstrate the principle we will create two datasets. One will hold all the vegetation points up to 1m above ground level (low vegetation), whereas the second dataset will hold all vegetation points above 1m and higher (high vegetation). The functionality we will use is the already known "surface comparison" function. The calculated DTM mesh will act as reference surface for the calculation. During the calculation of the DTM a number of polydata files had been produced holding vegetation data. It is possible to use these files or start the filtering with the original pointcloud. Load the data into an object view and select "surface comparison" from the context menu in the object inspector. Drag and drop the DTM polydata onto the Reference mesh field marked in blue. The low vegetation layer is defined by a min. distance of 0 and a max. distance of 1m. Click on update and the points within this bandwidth will be coloured. Activate the option "select coloured points" and click on the update button again to create a selection, which can be copied to a polydata object. This is the low vegetation pointcloud. Trash the selection; change the min. distance to 1m and the max. distance to 50m and hit the Update button to select all data for the high vegetation layer. Copy the selection to a polydata file and you are done. Remark: For the dataset we used in our example, it is interesting to note that the low vegetation filter gives a good impression of the amount of deadfall in a certain area.

Outlook: The geometric approach described above should be applicable for most of the scan data available today. New datasets provide much more information than pure 3D geometry. Ground and vegetation filtering from full waveform analysis is a hot topic in current research projects and RIEGL LMS is successfully contributing to this interesting field of application with its broad range of airborne scanners. We are looking forward to the upcoming results of further testing and the implementation of our data in forest applications. More is to be reported in one of the next newsletters.

  • Digital Elevation Model
  • Vegetation Layers
  • 2.5D Raster Filter Settings
  • Surface comparison function