LiDAR360 Tutorial Document
LiDAR360 Tutorial Document
Contents
Introduction ................................................................................................................................................. 2
3 Measurements ......................................................................................................................... 7
This tutorial covers the basic functions and interactive operations of LiDAR360,
including adding and browsing data, making measurement, and applying display
effects. The Framework module contains all of the tools needed to complete the
following exercises.
Software requirement
Please download the latest version of LiDAR360 from theGreenValley International
official website: https://greenvalleyintl.com/software/software-downloads/, and install
and activate following instructions in User Guide: http://greenvalleyintl.com/wp-
content/lidar360_en/Introduction/Install.html, .
Sample data
The SampleData folder provides sample dataset to use in this tutorial:
• ForestPointCloud.LiData
LiDAR360 Basics
Paid and trial-licensed versions of LiDAR360 allow users to access to add and browse
point cloud data in a 3D viewer, make measurements, cut point clouds, apply display
effects, and much more.
1 Add Data
1.1 Import single point cloud data
1.1.2 Go to File > Data > Add Data, browse to your downloaded sample
data, select it and open. The software also supports adding data by
dragging selected files into the UI display.
If you are dragging in a LAS file, you will see a data summary window.
Apply to accept.
➢ A LiData file will be created in the same directory for each non-
LiData file imported. All alterations and operations made in the
software affect only the LiData copy and not the original data
file.
To merge multiple point cloud data upon adding, use Add and Merge
Point Cloud Data from File > Data or the tool button from the
toolbar.
When multiple point cloud data files are selected, you can click on the
preview area on the left of the dialog window to see the relative locations of
the datasets in a global coordinate system.
2 Browse Data
2.1 Rotate, Pan, and Zoom
Left click and hold to rotate, right click to pan, and scroll the wheel to
zoom. Also try the following functions from your toolbar:
Use the check boxes in the Layers menu to turn layers on and off. Right
click on a point cloud layer, choose Zoom to Layer to zoom your display
to layer extent. Select (highlight) a point cloud layer, then use the
button to Remove the layer from display.
Zoom to Layer is useful for navigation between distant point clouds.
Use Pick Point tool to select a point. Examine the 3D- Coordinate,
Intensity, Return Number, Classification, and Time attributes of the point in
the resulting window.
Click on the Multi Pick Point tool to pick multiple points. A Viewer
window will pop up to show selected points.
Click on the Length Measurement tool and then click on two or more
data points to measure the total distance along the measured path. Double
click to complete measurement.
3.4 Area Measurement
Try rotating or moving the point cloud loaded into the Viewer of [Focus]
if the measurement text box is blocking a point to be included in the
taking of a height measurement.
4 Cut Data
4.1 Specify a cropping area
Use the In/Out Cut tools to cut inside or outside the selected
area as needed, then click on Save Cut to save cut data.
5 Display Effects
LiDAR360 allows users to visualize data with display effects applied.
If intensity value does not exist for point cloud, right click on the data
layer and select PCV Rendering to calculate a pseudo-intensity value.
5.2 Change Point Size
Right click on a data layer, then go to Point Size to change the point size in
display.
Switch to Specified Set to enable the sliding bar, slide to size 23 and then
check Circular Points box to see the changes take effect in the point cloud
rendered in the View window.
For technical articles, user stories, and other product information, please visit our
official website https://greenvalleyintl.com/.
Tutorial: Strip Alignment in LiDAR360
Contents
Introduction ................................................................................................................................................. 2
Sample Data............................................................................................................................................... 3
Roll Error
The effect of error in the roll angle is shown in the following figure. The planar
position of scanned objects will be shifted along scanlines (perpendicular to flight
direction) when there is an error in the roll angle.
Pitch Error
The position of scanned object is shifted along scanline due to Pitch angle error. The
following figure shows the affect of pitch error on laser footprints.
Heading Error
Error in the heading angle leads to the shifting and distortion of LiDAR point cloud
objects. The following figure shows the erroneous positioning and form of an object
affected by error in the heading angle.
The process of Strip Alignment eliminates the boresight error and improves the data
quality and accuracy of a point cloud dataset by calculating boresight error
parameters. LiDAR360’s Strip Alignment Tool can calculate boresight errors and
contains Automatic or Manual Correction approaches to determine parameters needed
to remove the error from input point cloud datasets collected from mobile laser
scanning systems. In this tutorial, we will introduce the Strip Alignment with
Automatic Correction workflow. The LiDAR360 User Manual should be referred to
when using the Manual Correction features of the Strip Alignment Tool experienced
users.
Software Requirement
Please download the latest version of LiDAR360 from the GreenValley International
official website: https://greenvalleyintl.com/software/software-downloads/, and install
and activate following the User Guide: http://greenvalleyintl.com/wp-
content/lidar360_en/Introduction/Install.html
Sample Data
The SampleData folder provides sample datasets for the following exercises:
• Trajectory.pos
• StripAlignmentSampleData.LiData
Exercise 1: Split Trajectory and Point Cloud
Before calculating boresight error parameters using Automatic Adjustment or Manual
Measurement approach, the point cloud needs to be split by trajectories.
2 Under Strip Alignment in the toolbar, click Strip Alignment to open the Strip
Alignment window.
If Strip Alignment is not found in the toolbar, click Windows and click Strip
Alignment to add it to the toolbar.
3 In Strip Alignment window, set working directory:
If LiAcquire was used to process the trajectory and the point cloud, the
processed trajectory file is under the LiAcquire project folder > LiNav >
POSProc > LiNav_Result.pos.
5 In the Open Trajectory Files window, under Info tab, match the columns with
data headers as following:
The GridX and GridY columns are used when the point cloud is in a local
dataset, such as the sample dataset. If the dataset does not have GridX and
GridY column, a coordinate system that matches the coordinate system of
your point cloud needs be selected.
LiDAR360 supports two trajectory file formats, .pos and .out.
6 Click Apply.
9 The split trajectories will be displayed in different colors, and each one will be
added as one record to the trajectory list in Strip Alignment window.
10 Only the trajectories within the planned survey flight will be used in the Strip
Alignment process. Therefore, select the unwanted trajectories, and use the
Click Yes: the trajectory files will be deleted from the drive.
Click No: the trajectories are removed from the current project, but the files are
not deleted from the drive.
For the Strip Alignment Tool to eliminate boresight errors in the LiDAR data,
the associated split trajectories need be parallel and adjacent trajectories splits
need to have heading directions that are opposite (+/-180 degrees) on each
other.
12 Click Cut Point Cloud Based on Trajectories . In the Select Point Cloud
File window. Make sure the StripAlignmentSampleData.LiData file is selected,
and click OK.
13 Click Yes to Add data to current project. The split point cloud datasets are
added to Layers.
21 Repeat the steps above to examine alignment quality of other areas in the project
before any corrections.
Exercise 2: Automatic Correction
LiDAR360 provides Automatic Correction function to automatically calculates the
boresight error parameters and apply them in transformation to improve point cloud
quality and accuracy.
By default, only the angle error parameters (△Roll, △Pitch, △Heading) are
checked for automatic calculation, because they have the largest impact on the
total boresight error. If necessary, users can check on the translation
parameters (△X, △Y, △Z) and automatically calculate these translation
3 When finished, the Alignment Quality tab will display before- and after-
alignment error statistics and report the tightness of fit metric (RMSE) between
the overlapping point cloud sections matched to the trajectory splits in Exercise 1
of this tutorial, and Boresight Correction parameters are shown in the window.
Notice that the Errors and RMSE are reduced after alignment.
4 Click Apply to apply the transformation parameters to the point cloud dataset on-
the-fly.
5 In Transform Type, change from Loaded Point Cloud to Selected Point Cloud
Files, and click Apply, to apply the transformation to the source point cloud
datasets.
6 In the Profile window [Focus] viewer, notice that the alignment quality is
improved after applying transformation.
Exercise 3: Manual Correction
This Manual Correction exercise requires users to first follow instructions included in
the LiDAR360 User Guide to calculate △Roll, △Pitch, △Heading: Boresight Error
Calculation.
After entering the calculated △Roll, △Pitch, △Heading values for the input data,
users can run the Transform tool in Strip Alignment window before moving
on to repeated steps included in the Automatic Correction workflow included in
Exercise 2 of this tutorial. Remember that the Transformation Type should be set to
Loaded Point Cloud when the correction parameters are to be applied to data loaded
on-the-fly. Selected Point Cloud Files should be the Transformation Type only if the
user wishes for the correction parameter transform to be applied to the selected source
dataset(s).
Exercise 4: Merge Trajectories
Cut Overlap
For point clouds generated from laser scanning systems, the smaller the scanning
angle, the higher the accuracy of the corresponding measurement included in the
LiDAR point cloud. The quality of LiDAR datasets generated from overlapping point
clouds can be improved by first defining and identifying spatially redundant
measurements. Within the overlapped area, redundant returns generated from the
largest scan angle or angle with trajectories are then removed from the input point
cloud(s) by LiDAR360’s Cut Overlap tool. In doing so the Cut Overlap tool is able to
improve the accuracy of the output laser scan data and reduce point cloud files sizes,
making them easier to store and process.
2 Make sure all point clouds strips cut in Exercise 1 of this tutorial are selected by
checking the boxes next to their File Name.
Delete: The overlapping (redundant) points will be deleted from the point
cloud dataset.
4 Accept the other Cut Overlap tool parameters and click OK to run.
When the function has completed, four new point cloud datasets are added to the
project.
2 Make sure the four final-processed point cloud datasets, and only these four
datasets, are selected as inputs for Merge tool.
For technical articles, user stories, and other product information, please visit our
official website https://greenvalleyintl.com/.
Tutorial: Point Cloud Classification in LiDAR360
Contents
Introduction ................................................................................................................................................. 2
Sample Data............................................................................................................................................... 2
Post-processing ............................................................................................................................. 11
Software Requirement
Please download the latest version of LiDAR360 software from the GreenValley
International official website, and install and activate following the User Guide:
Install.
Sample Data
The SampleData folder provides sample datasets for the following exercise:
• CityRGB.LiData
• TrainingSample.LiData
Exercise 1: Classify Ground Points
Classifying ground points is a prerequisite step for many LiDAR data processing and
analysis workflows. For example, before generating DEM elevation surfaces in
LiDAR360 from point clouds the ground points need to be classified. LiDAR360
employs an improved progressive TIN densification filtering algorithm (Zhao et
al.,2016) to extract ground points from the classified point cloud.
1 Launch LiDAR360 and add the CityRGB.LiData sample dataset. This sample
dataset has RGB information. Change Display option to RGB when necessary.
Without any prior knowledge of the local landscape, users could select the default
parameters and then analyze the results to see if the Classify Ground Points tool
parameters should have their default values modified.
LiDAR360 users can use the interactive classification tools in Profile window to
manually classify points into target classes. In this tutorial exercise, a small subset of
the CityRGB.LiData point cloud will be cut from the input dataset and then used as an
input to the interactive classification tools included in LiDAR360’s Profile window.
Datasets produced by this Exercise will serve as training datasets in portions of this
tutorial that focus on LiDAR360’s Machine Learning Tools. The accuracy of the
Machine Learning classification tools is partially dependent on how well the training
data represents of the objects of interest as they “appear” in the point cloud data set to
which the Machine Learning model will be applied. Therefore, a careful and thorough
selection of training samples is important in successful implementation of the
Machine Learning classification routines in LiDAR360.
In this project, we will classify a point cloud that belong to four target classes:
Ground, Building, High Vegetation, and Medium Vegetation. All other points
in the input dataset will be left as unclassified (ID-0).
Note that Ground points were classified in Exercise 1 and the Machine Learning
training samples generated only for the building, high and medium vegetation
classes in this portion of the tutorial.
2 Select a region where buildings, high vegetation (trees), and low vegetation
(bushes) are all present in the point cloud. Use the Polygon Selection tool
to select a region such as the one as shown below.
3 Double-click the left mouse button to finish drawing the selection region. The
selected session is colored in purple.
4 Click In Cut tool to cut the selected points from the larger point cloud.
5 Click Save Cut tool to save cut point cloud as a new dataset, and then click
Yes to add the result to the project.
Classify points
3 Building and High Vegetation are relatively easy to discern in this example.
Therefore, an effective classification strategy would be to first isolate the points
belonging to the Building and High Vegetation classes. To do this, Click Profile
in Profile Editor, and draw a line along the roof top to create a polygon. Double-
click the left mound button to finish selection.
The buffer area selected by Profile tool (top viewer), and the selected point cloud
(bottom viewer).
4 Click Viewer Direction > Left View to rotate the view 90 degrees horizontally,
at which angle the building is well separated from trees. You could also use the
5 Under Function Panel in Profile Editor, click the Class Setting tab, and change
the To Class to Building.
6 Use the Polygon Selection tool to select the building points. Double-click to
finish selection.
7 Switch the Display option to Class . The building points selected are
displayed in red, the default color for Building Class.
Save the classification result each time before moving on to classify a different
class of object in the point cloud
9 Rotate the point cloud loaded in the viewer and classify all building points that
can be identified as Building.
10 Double-click Class Setting and then set the To Class to be High Vegetation.
11 Use the same strategy to classify the trees to Class High Vegetation as was used
previously in this example to classifying Building points.
Building points (red) and High Vegetation points (green)
12 Repeat steps 6 to 11 but this time do so to classify the remaining points in the
subset point cloud that belong to the Medium Vegetation land cover category.
The buffer area selected by Profile tool (top viewer), and the selected point cloud
(bottom viewer).
Exercise 3: Classify by Machine Learning
Use the subset sample generated in Exercise 2 as training sample for this exercise, or
use the TrainingSample.LiData dataset in SampleData folder as training sample.
1.5 Save Model as a .vcm training model file, which can also be used directly
in other LiDAR360 classification tasks that employ the Classify by
Trained ML Model tool.
Manual correction
In the classification result above, some rooftops are not classified as Building
correctly, such as the areas marked in blue below:
Use the interactive classification tools and workflow introduced in Exercise 2 of this
tutorial to re-classify these points into Building.
1 Click Display > Class Setting Options. Default classes such as Ground and
Building are listed in the Class List. The Reserved records can be used for
customized classes.
3.2 Select UnClassifed as From Class and then select 16-Bare land as the To
Class.
Classification result of Classify by Height Above Ground. Bare land points are
colored in yellow.
4 Click Classify > Classify by Height Above Ground.
Classification result of Classify by Height Above Ground. Low Vegetation points are
colored in bright yellow.
Final LiDAR360 classified point cloud rendered with EDL display effect applied
More resources
Have feedbacks or questions? Please post on our active Forum to share your ideas and
to interact with the GVI community, or email us at [email protected].
For technical articles, user stories, and other product information, please visit our
official website https://greenvalleyintl.com/.
Tutorial: Generate Terrain Products in LiDAR360
Contents
Introduction ................................................................................................................................................. 2
Software requirement
Please download and install the latest version of LiDAR360 from the GreenValley
International official website. Activate your software by following instructions
provided in User Guide: Install.
Sample data
The SampleData folder provides sample dataset for this tutorial:
• TerrainSampleData.LiData
Exercise 1. Data Preprocessing
LiDAR point cloud data inputs to tools found in the Terrain module must be
preprocessed to remove outliers, classify ground points, and remove errors and
non-target data points through manual editing. It is important to remove outliers when
generating digital elevation products so that the data can accurately represent the areas
surveyed. LiDAR360’s ground point classification routines provide fundamental
inputs to the Terrain module’s digital elevation model (DEM) and contour line
production tools. LiDAR360 also provides the users with both automated and
interactive point cloud classification tools that can be used to edit classified results
with ease and efficiency.
Remove Outliers
Outliers are a common type of noise found in unprocessed LiDAR datasets.
High-level outliers are usually created when high-flying objects (such as birds or
aircraft) pass through a laser scanner’s field of view during the process of data
collection. Low-level outliers are returns with extremely low attitudes and are the
result of a multipath effect impacting the amount of time it takes for the laser pulse to
return to the laser scanner after its first reflection. The Remove Outlier tool in
LiDAR360 aims to remove these types of noise and improve the quality of data
products derived from the processed point clouds.
1 In LiDAR360, add downloaded sample data into current project. Then go to Data
Management > Point Cloud Tools > Remove Outliers. In the tool interface
below, accept the default parameters and click OK. For descriptions of the
parameters, please refer to the User Guide.
2 Add the resulting TerrainSampleData_Remove Outliers.LiData file into display
and turn off the original data from Layers to inspect the results.
If outliers are still present in the results, try rerunning the Remove Outliers
tool on the outputs and use a smaller Multiples of std deviation value.
Otherwise, manually classify the points to a noise class and exclude them
from later processes.
Point cloud data after Remove Outliers. Notice that some outliers still remain.
Automatic Ground Points Classification
Once low- and high-level outliers have removed from the sample point cloud users
can move on to classify ground points before creating DEM and contour line products.
Note that users can generate DSM outputs without first classifying ground points.
Max Terrain Angle: The maximum slope of the terrain shown in the point
cloud. This parameter is used to determine whether the points near the ground
points belong to the ground or not.
Iteration Distance: This distance threshold limits the amount of space that
can exist between the FROM CLASS points and their nearest facet in the
triangle mesh created during the running of Classify Ground Points. When the
topography is highly undulating, it should be set to a larger value. In addition,
the iteration distance should adjust with the iteration angle.
Reduce Iteration Angle When Edge Length < (m, default value is “2”,
Optional): When the triangle length of the point to be classified corresponding
to the length of the triangle is less than the threshold, the densification of
triangulation network is stopped. This value can prevent the locally generated
ground point from being too dense. When this value increase, the ground
points will be sparse, and vice versa.
Only Key Points (Optional): Extract key points of terrain model on the basis
of ground point filtering. This function can preserve the key points on the
terrain and sparse the points on the flat area. For the specific usage, please see
Classify Model Key Points.
Classify Ground by Selected tools allows the user to select a specific region of the
point cloud, and then run classification using specific algorithm and/or specific
parameter settings in the selected area to accommodate its terrain conditions.
Three different algorithms are provided in LiDAR360 for classifying ground points:
• Conicoid Filter: Ground points are classified by fitting quadric surfaces. This
method is suitable for undulating terrain, but not very steep areas. Please refer
to User Guide for detailed introduction of the algorithm: Conicoid Filter.
In the following steps, the TIN Filter method is used in a region where automatic
Classify Ground Point tool did not extract ground points correctly. Parameters will
be adjusted when running TIN Filter to accommodate variation in the local terrain
rather than that found in the entire input point cloud.
5 Rotate the point cloud in the 3D viewer and notice that ground points are missing
in the region delimited by the red box shown in the figure below.
Region where ground points are not captured correctly
7 Use the Polygon Selection tool to select the region shown in the image
below. Selected points are highlighted in purple.
Because only the Ground class is checked in Display by Classification, only
ground points are displayed in the viewer. However, points of all classes (i.e.
From Class: UnClassified & Ground) in the polygon regions will participate
the following ground point classifying operations.
8 Click on TIN Filter . In the pop-up dialog window, set Max Building Size
to 5 (meters). This region was misclassified in the previous step of this tutorial
because the large flat terraced areas of the terrain were mistaken by the classifier
to be buildings. To fix this error, we can decrease the Max Building Size
parameter and reclassify the region by clicking OK to rerun the TIN Filter tool.
The region has been reclassified and ground points are captured correctly after
implementing the TIN Filter
1 Go to Terrain > DEM. The point cloud that has ground points classified will
appear in the tool’s input list. Set tool parameters as below and click OK to run
the tool.
Interpolation Methods:
➢ XSize and YSize: Through XSize and YSize, users can set the size of
sampling interval (resolution) in meters. This is also the pixel size of the
output DEM raster.
➢ Merge files into one: when more than one file is selected as input, if this
option is not checked, each point cloud data will be processed separately,
resulting in more than one output DEM raster file. If this option is checked,
the generated raster files would be merged into one file.
➢ Fill in holes: Missing data in the point cloud may result in holes in the
DEM raster. Checking this option can fill in missing data with values
interpolated based on neighbor values.
Please refer to User Guide for detailed description of interpolation methods used
in LiDAR360 and other parameters of the tool: Grid Parameters.
Small
DEM holes caused by missing data (Left) and holes filled with interpolated values
(Right) when Fill in Holes option is checked.
2 Go to Terrain > DSM. In the following window, set From Class to Ground and
UnClassified, Return Number to all returns, and Interpolation Method to TIN.
In the TIN settings, choose Spike Free TIN, and set Freeze Distance to 1
(meter), Insertion Buffer to 0.5m, and everything else the same as in DEM in
Section 1. Click OK to run the tool.
Spike Free TIN: When this option is checked, the points with abnormal
elevation are removed, in order to generate TIN without obvious spikes.
Freeze Distance: The shortest distance in xy plane of each side of the triangle
in the triangulated network. The larger this value is, the fewer points will be
involved in creating the network, the smoother the network will be and the
fewer surface details will be included in the output TIN.
Insertion Buffer: Decreasing this value will result in fewer spikes, faster
processing speeds, and less detail in the TIN result.
DSM raster product (0.5 m X 0.5 m resolution) generated with the Spike-Free
TIN Interpolation Method
TIN Production
LiTin is a LiDAR360 custom triangulated irregular network (TIN) model file format.
A LiTin model generated from a LiDAR point cloud can be edited to smooth irregular
variation in point elevations as well as to add and remove network vertices. These
tools give Terrain module users an ability to improve the quality of contour line and
digital elevation products generated from the edited TIN model.
3 Go to Terrain > Generate TIN. In the following window, set From Class to
Ground, Method to Spike Free TIN, Freeze Distance to 1.0m, Insertion
Buffer to 0.5m, and click OK.
Tutorial Note: The resulting *.LiTin file will need to be manually added into the
current LiDAR360 project.
The LiDAR360 viewer cannot be in 3D mode when there are raster data sets
loaded in the viewer. Remove the raster layers in order to switch viewer mode
from 2D to 3D.
Contour Production
An elevation contour line that connects adjacent points with the same elevation value
on a topographic map. LiDAR360 can generate contours in three different ways:
Point Cloud to Contour, Raster to Contour, and TIN to Contour.
4 Go to Terrain > Point Cloud to Contour. In the window that appears, set Scale
to 1:10,000, choose Generate Shp: Polyline, and leave the other settings to
default. Click OK to run.
➢ Point Cloud to Contour requires correctly classified ground points and
the tool will fail to execute correctly if ground points have not been
classified in the input point cloud.
2.5 m (blue), 5 m (yellow), and 25 m (red) contour lines generated from LiDAR
point cloud
Raster to Contour
Raster to Contour generates contour lines by connecting the grid points in a TIFF
file that share the same elevation value. The input TIFF file can be DEM generated in
LiDAR360 as described in Section 1, or come from other sources.
5 Go to Terrain > Raster to Contour, and select the output TIFF file from DEM
Production as input. Set Contour Interval to 10 and Contour Base to 0. Click
OK to run the tool.
Add in the resulting shapefile to the LiDAR360 project, then right click on the
newly added layer and select Display by Selected. Select a bright color to
display the contour lines.
TIN to Contour
TIN can be used for contour generation too as point cloud and DEM raster.
6 Go to Terrain > TIN to Contour. In the settings window, set Input TIN File to
the edited TIN file from TIN Production. For the other parameter settings, follow
Point Cloud to Contour. Click OK to run.
Contour generated from TIN model
More resources
Have feedbacks or questions? Please post on our active Forum to share your ideas and
to interact with the GVI community, or email us at [email protected].
For technical articles, user stories, and other product information, please visit our
official website https://greenvalleyintl.com/.
Tutorial: Forestry Analysis based on aerial LiDAR
data using ALS Forest Module in LiDAR360
Contents
Introduction ................................................................................................................................................. 2
Sample Data............................................................................................................................................... 2
Normalization .................................................................................................................................... 6
Canopy Cover................................................................................................................................. 11
Layer Stacking................................................................................................................................ 24
In this tutorial, you will learn to use LiDAR360’s ALS Forest module to process
aerial (both UAV and airborne) LiDAR point cloud data, and calculate Forest
Metrics such as Height Metrics, Canopy Cover, and Leaf Area Index, as well as
single tree attributes such as tree locations, counts, heights, canopy diameters,
canopy areas, and canopy volumes. Other metrics like biomass and growing stock
volumes can be achieved through regression analysis in accordance with survey data
in sample areas.
Software Requirement
Please download the latest version of LiDAR360 from the GreenValley International
official website, and install and activate following instructions in User Guide: Install.
Sample Data
The SampleData folder provides sample dataset for this tutorial:
• Exercise1: ALSData.LiData
• Exercise2:
• ALSData_Remove Outliers.LiData
Remove Outliers
Outliers are common noises in LiDAR datasets. High-level outliers are usually caused
by the returns of high-flying objects (such as birds or aircraft) during the process of
data collection; low-level outliers are returns with extremely low attitudes caused by
the multipath effect of a laser pulse. LiDAR360 provides automatic tool to remove
these noises.
2 Go to Data Management > Point Cloud Tools > Remove Outliers, accept the
default parameters, and then click OK.
In this tutorial, we will use the default settings of tools in most cases.
However, in your own project, please refer to our User Guide to understand
the parameter settings of the tools and adjust accordingly to meet your project
requirements. User Guide for DEM tool: DEM.
Upon loading in DEM, the display will switch to a 2D view. To go back to 3D
display, start a new display window or remove DEM from current display.
Normalization
5 Go to Data Management > Point Cloud Tools > Normalize by DEM. If you
already have DEM data loaded in, you can find it in the Input DEM File drop
down menu. Otherwise, you can add your DEM input by clicking on . Click
OK to run.
Point cloud data before (left) and after (right) Normalize by DEM:
Exercise 2. Forest Metrics
In this exercise, you will be calculating common Forest Metrics, including Elevation
Metrics, Intensity Metrics, Canopy Cover, Leaf Area Index, and Gap Fraction.
The input data should be normalized point cloud data.
Elevation Metrics
Elevation Metrics are statistical parameters related to point cloud elevation. They are
frequently used in regression analysis, especially when correlating field plot
measurements with LiDAR data. In this model, 46 statistical parameters related to
elevation and 10 parameters related to point cloud density can be calculated. Detailed
introduction of the parameters and methodologies are available in User Guide:
Elevation Metrics.
1 Go to ALS Forest > Forest Metrics > Elevation Metrics. Set the output type to
CSV File, leave everything else as default, and click OK.
Elevation metrics and Intensity metrics can be generated in both CSV format
and TIFF rastesr format. To generate in TIFF raster format, select TIFF File.
One raster file will be generated for each parameter.
Wait for the tool to finish running, then check the result by adding the CSV to
LiDAR360 or opening it in Excel.
Intensity Metrics
The intensity metrics are similar to the elevation metrics with the exception that point
intensity is used rather than point elevation. Therefore, this function can be used only
if the point cloud data contains intensity information. Overall, 42 statistical
parameters related to intensity can be calculated.
2 Go to ALS Forest > Forest Metrics > Intensity Metrics. In the next dialog
window, set the output type to CSV File, leave everything else as default, and
click OK.
The software requires existing intensity information in the point cloud data for
Intensity Metrics to work. You can check the existence of intensity
Wait for the tool to finish running, then check the result by adding the CSV to
LiDAR360 or opening it in Excel.
Canopy Cover
Canopy cover is the percentage of vertical projection of forest canopy to forest land
area (Jennings et al., 1999). It is an important parameter in forest management, and
it is also an essential factor for estimating forest volume.
3 Go to ALS Forest > Forest Metrics > Canopy Cover. Accept the default
parameters and click OK.
Please refer to our User Guide to understand the parameter settings of the tool:
Canopy Cover.
Leaf Area Index
The Leaf Area Index (LAI) is one of the most basic parameters that characterizes
the forest canopy structure. It is defined as half of the surface area of all leaves
projected on the surface area of a unit(Chen et al.,1991). LAI can be calculated
from the normalized LiDAR vegetation points.
4 Go to ALS Forest > Forest Metrics > Leaf Area Index, accept the default
parameters and click OK.
Please refer to our User Guide to understand the parameters settings of the
tool: Leaf Area Index.
Gap Fraction
Gap Fraction is a crucial variable that governs interactions between light and
vegetation and requires accurate modelling to predict light climate in the canopy,
photosynthetic activity or canopy reflectance.
5 Go to ALS Forest > Forest Metrics > Gap Fraction, accept the default
parameters and click OK.
Please refer to our User Guide to understand parameter settings of the tool:
Gap Fraction.
Exercise 3. Tree Segmentation
In order to extract individual tree attributes such as locations, heights, canopy
diameters and so on, clusters of points representing trees in the point cloud need to be
segmented into individual trees.
LiDAR360 provides three methods for tree segmentation and we will introduce you to
each of them in this exercise:
• CHM Segmentation.
For this exercise, you can either use the output from Exercise 1 as your input, or use
downloaded sample data ALSData_Remove Outliers_Normalize by DEM.LiData and
ALSData_Remove Outliers.LiData. Pay extra attention to which input data is used
when following the exercise instructions.
CHM Segmentation
1 Generate DEM
1.2 Go to Terrain > DEM. Leave the parameters to default. Click OK.
2 Generate DSM.
2.1 Go to Terrain > DSM. Leave the parameters to default. Click OK.
To generate DSM based on spike-free TIN, select TIN for Interpolation
Method, and select Spike-Free TIN method. Spike-free TIN can be used
to generate Pit-Free CHM, which can improve CHM segmentation results
in certain scenarios.
3 Generate CHM.
3.1 Go to Terrain > CHM, set Input DSM and Input DEM data to match the
following, and click OK.
4 CHM Segmentation.
4.1 Go to ALS Forest > Segmentation > CHM Segmentation, select the CHM
file as your input, set Sigma to 1, and accept default settings and click OK.
4.2 Once the segmentation completes, the software will prompt you to add the
results into display. Set your parameters to match the screenshot below and
click Apply. The CSV results will be added in to show tree locations, heights,
crown diameters, and crown areas.
In addition to the CSV file, CHM Segmentation also creates a shapefile of
tree boundaries. Right-click at Vector under Layers in Project panel > Import
Data > select the shapefile ALSData_Remove Outliers_DSM_CHM_CHM
Segmentation.shp to open.
4.3 Though attributes of individual trees are available in the CSV file, the LiDAR point
cloud is not segmented into individual trees yet. Go to ALS Forest > Segmentation >
Point Cloud Segementation from Seed Points. Select the ALSData_Remove
Outliers_Normalize by DEM.LiData dataset as Point Cloud File, and
ALSData_Remove Outliers_DSM_CHM_CHM Segmentation.CSV as Seed File.
2 Go to ALS Forest > Segmentation > Point Cloud Segmentation, input your
normalized point cloud data, accept the default settings and click OK.
Please refer to our User Guide to understand the parameter settings of the tool:
Point Cloud Segmentation.
Once segmentation completes, the display should switch to Display by TreeID.
The segmentation process also outputs a CSV file that contains tree
attributes, including tree IDs, XY coordinates, heights, DBH, crown
diameters, crown areas, and crown volumes.
Layer Stacking
LiDAR360 also provides option to use Layer Stacking algorithm to segment trees.
Two major steps are involved in Layer Stacking segmentation: generate seeds from
Layer Stacking, and segment from seed points.
1.1 Go to ALS Forest > Segmentation > Generate Seeds from Layer Stacking.
Select the ALSData_Remove Outliers_Normalize by DEM.LiData dataset as
input file. Accept the default settings and click OK.
A CSV file of seed points consisted of 4 columns –TreeID, TreeLocationX,
TreeLocationY, and TreeLocationZ –will be created.
All the seed points generated from layer stacking share the same
TreeLocationZ value, which is the maximum Z value of the point cloud. Tree
heights will be calculated later with Point Cloud Segmentation from Seed
Points.
2 Point Cloud Segmentation from Seed Points
2.1 Go to ALS Forest > Segmentation > Point Cloud Segmentation from Seed
Points. Click on the blanks under Point Cloud File and Seed File to select the
corresponding inputs accordingly. Click OK.
Load in the segmentation results, and then use the Display by TreeID tool
The segmentation process also outputs a CSV file that contains tree
attributes, including tree IDs, XY coordinates, heights, DBH, crown
diameters, crown areas, and crown volumes.
Segmentation Results Inspection and Editing
ALS Editor allows the user to closely examine tree segmentation results, and make
edits at the same time by adding to and deleting from seed points. The user can then
rerun segmentation on the point cloud data using modified seed points to achieve
higher segmentation accuracy.
1. Add Results
1.1 Launch the editor from ALS Forest > ALS Editor. Go to Editor > Start Edit,
and then select the normalized point cloud.
1.2 On the ALS Editor toolbar, click on Open Seed Point File and then
choose the CSV result of segmentation. As shown in the screenshot below,
specify the appropriate column headers to Tree ID, X, Y, Z, and Crown
Diameter respectively, and set the last two columns to Ignore. Set Skip Lines
to 1, and then click Apply.
Tree IDs will be displayed by default. If Tree IDs are blocking the point
cloud in display, you can turn them off by going to the Seed Setting tool
and unchecking Show Seed ID. You can also set Seed Size to 1 to
increase visibility.
2. Examine Results
2.1 Use the Filter Trees tool to filter point cloud data based on tree IDs,
heights, and crown areas. Trees falling within the specified attribute range will
become highlighted. Set the Tree Crown Areas range to 10 – 18.358 m², and
The tree colored red in the profile view below has a larger-than-actual crown
area due to under-segmentation:
3. Edit Results
3.1 Use Add Seed Points tool to add a seed point on the treetop.
➢ Seed points can be added in either the main display or the profile
viewer.
3.2 Use Select Seed Points tool to select and highlight incorrect seed
points in the main display.
3.3 Use Delete Selected Seed Points tool or the Delete key on your
keyboard to delete selected incorrect seed points.
While working with profile views, you can use the Pan Profile tool to
drag and pan your work area in the main display to easily move around in the
profile view. This allows you to work with a fixed area size, and save the pain
of drawing a new profile each time.
4.1 When you are done inspecting/editing, click on Save Seed Points File
4.2 As needed, you may want to rerun segmentation based on your edited seed
points. Click on Clear Tree ID tool to clear existing TreeIDs, and then
For technical articles, user stories, and other product information, please visit our
official website https://greenvalleyintl.com/.
Tutorial: Forestry Analysis based on Terrestrial
LiDAR data using TLS Forest Module in
LiDAR360
Contents
Introduction ................................................................................................................................................. 2
Sample Data............................................................................................................................................... 2
Introduction
Attributes of tree individuals such as diameter at breast height (DBH) is an important
forest inventory metric to collect when analyzing tree growth. Traditional DBH
measurement techniques that make use of DBH tapes or calipers require the data
collector to make physical contact with each tree inventoried. This contact
requirement can make field work slow, labor intensive, and, in certain situations,
dangerous.
LiDAR360’s TLS Forest module allows users to collect from point clouds forest
inventory data. In this tutorial, the TLS Forest module is used to process TLS point
cloud data, acquired with GVI’s LiBackpack D50, and find individual tree
attributes including location, DBH, height, crown diameter, crown area, crown
volume, crown base height (CBH), as well as bole or trunk straightness.
Software Requirement
Please download the latest version of LiDAR360 from the GreenValley International
official website, and install and activate following instructions in User Guide: Install.
Sample Data
The SampleData folder provides sample dataset for this tutorial: TLSData.LiData.
Exercise 1. Data Preprocessing
Point cloud data must often be preprocessed before it can serve as an effective input
to TLS Forest Module’s tools. These data preprocessing steps are designed to remove
outliers, to classify individual points such as ground points, and to remove the effects
of topography on point height values through normalization.
Remove Outliers
Statistical outliers in TLS point clouds represent noise (errors or non-target survey
data) and are often classified as being either high or low level. High-level outliers
tend to be the result of laser pulse returns that generate from airborne objects, like
birds or aircraft, that pass through a scanning instrument’s field of view during data
collection. Low-level outliers are points with elevation values that are extremely low
when compared to the rest of the measurements included in the LiDAR datasets to
which they belong. These outlier types typically result from multipath effects that
impact that quality of the laser scan data occur during acquisition. LiDAR360
provides tools that programmatically identify and remove both high- and low-level
outliers.
2 Go to Data Management > Point Cloud Tools > Remove Outliers, accept the
default parameters, and then click OK.
3 Go to TSL Forest > Filter Ground Points. Set Grid Size and Ground
Thickness to 0.1m. Accept the other parameters as default and click OK.
Grid Size: Resolution of ground points filtering grid. The lowest point is
identified in each grid cell, which is considered as ground point for that cell.
Smaller the grid sizes require higher ground point densities and will also take
longer for LiDAR360 to process.
Ground Thickness: Points with elevation coordinates values that are greater
than that of the lowest point found in a given cell and are also within a vertical
distance of this low point that is no greater than the Ground Thickness value
are classified as ground points within that cell.
Window Smooth (optional): When checked, neighborhood grid data is used
to conduct ground point consistency filtering operation.
Ground Points colored in orange and Unclassified Points in white
4 Go to Data Management > Point Cloud Tools > Normalize by Ground Points.
Click OK to run.
Exercise 2. Diameter at Breast Height (DBH)
This exercise will explore ways to measure Diameter at Breast Height (DBH) of
individual trees using the TLS Forest module’s TLS Editor. The input dataset should
be a normalized TLS point cloud generated by following steps identified in the
previous exercise. Please use the sample dataset TLSData_Remove
Outliers_Normalize by Ground Points.LiData created in Exercise 1 or the version
found in the sample data folder for this tutorial.
TLS Editor
The TLS Editor can be used to add or delete point cloud segmentation Seed Points,
to execute point cloud segmentation operations that include Seed Points, and to
measure physical attributes of individual trees, such as DBH, found in the segmented
point cloud. Detailed introductions to methodologies and parameters underlying the
tools highlighted in this section are available in the LiDAR360 User Guide: TLS
Editor.
Seed Point: a seed point is the location point of a tree. This point is used as the
starting point of ‘growing’ a tree in the tree segmentation algorithm. In TLS
module, seed point should be the xyz location of the tree at breast height.
1 Go to TLS Forest > TLS Editor. The TLS Editor toolbar will appear in your
window viewer.
2 On the toolbar, go to Editor > Start Edit. Select your normalized point cloud to
edit and click OK.
3 In the Setting window, leave both Parameter Setting and Display Setting as
default and click OK.
➢ Parameter Setting
Show Point Cloud Height: Min Height and Max Height define the
points between which that will be sliced and displayed in TLS Editor View
Window.
➢ DBH Setting
Min DBH, Max DBH: Fitted DBH values falling outside the min-max
DBH range will be excluded from the results.
Minimum angle between tree and ground: If the angle between a
candidate tree point and the nearest ground point is smaller than this value,
the point will not be treated as part of the tree. The default value is 30°.
➢ Note that if the min-max height range is greater than 0.4 m when fitting
DBH in Batch Extraction mode, LiDAR360 will use a stricter method to
estimate the confidence level. This method usually performs better for
trees with long trunks (the length between bottom of the tree and the first
branch).
➢ Confidence Level: after fitting DBH, the algorithm will aggregate several
statistics such as fitting certainty of tree trunk and DBH circle to
categorize fitting confidence into three levels: Low, Medium, High.
Batch Extraction of DBH
The fitted DBH values will be displayed in the TLS Editor viewer as bisected
circular markers centered at the locations of individual trees. Each circular
marker will have two numeric labels associated with it: (1) a Tree ID integer
value and (2) an extracted DBH measurement value given in meters with sub-
centimeter level precision. Use Setting to control the visibility options for
the labels and individual tree markers (Seed Setting).
Fitted-DBH values symbolized by bisected circular markers labelled with an ID
In this instance, trees of Tree IDs 5, 34, and 37 meet the filter parameters.
Fitted DBH values for which a low confidence level exists have been selected
using the TLS Editor’s Tree Filter and are displayed here in red.
6 Draw 3D profile views with Profile tool to examine the fitted DBH values
for which low Confidence Levels exist.
In this instance below, the DBH value for Tree ID 37 was obviously fitted
incorrectly.
Fitted DBH value selected in the 2D viewer (left), while points within the red
hexagonal selection object are displayed in 3D viewer (right)
7 Switch the data selection target to be Seed Points , then use the
TLS Editor selection tools (Circle Selection, Rectangular Selection, and
Polygon Selection) to select the incorrect seed point in the main or profile
display. Once selected, the Seed Points will be highlighted in cyan.
Selected Seed Point is highlighted in both the 2D and 3D viewers
8 Use Delete Seed Points or hit the Delete key on the keyboard to remove
the selected seed point.
Alternatively, users can choose to delete all DBH values of Low Confidence
Level in the Tree Filter window by choosing Delete, checking Low, and then
Apply.
9 Examine the rest of the DBH values of Confidence Levels Middle and High to
check for errors in the results.
10 To run DBH fitting on a different subset of the point cloud data, first switch
selection target to Point Cloud , and then use the selection tools
to select point cloud data for the area of interest. Selected points will then be
highlight in red in the TLS Editor view windows.
Selected points are highlighted in the TLS Editor 2D and 3D viewers in red
Click Fit DBH tool to fit a DBH value to a set of selected points
representing a single tree. Results of High Confidence Level will display in
yellow.
DHB fitting tool results for which a high confidence level in the extracted value
exists.
11 Use the Pan Profile tool to move the profile view around to inspect,
delete, or remeasure all DBH values fitted to the input point cloud or Seed Points.
12 Once the fit-DBH values are determined to be satisfactory, go to Editor > Save
Seed Points File and save the results as a .CSV file. The .CSV should have five
columns: TreeID, TreeLocationX, TreeLocationY, TreeLocationZ, and DBH.
This .CSV file will be used as an input for Point Cloud Segmentation from Seed
Points in the next exercise.
The TLS Forest module provides two methods for segmenting individual trees out of
input point clouds:
➢ The PCS from Seed Points function supports batch mode for
processing multiple files. The input data includes normalized point
clouds and their corresponding Seed Points files.
➢ Seed Points File: To use Seed Point Files generated in ways other than
TLS Editor, please refer to User Guide: Seed Points File for format
requirements. A column of DBH value is required in the seed file. If DBH
values are available in this column, they will be used as DBH values in
the segmentation results. If DBH values are not available, please enter
DBH value of 0 for all records. A DBH value will then be fitted during
segmentation process and recorded in the resulting csv file.
From Class: Classes that will participate in the PCS from Seed Points routine
(all classes included by default).
Cluster Tolerance: Users can control the accuracy and efficiency of the
individual tree segmentation process by changing this value. Increasing this
tolerance threshold will result in higher efficiency of the individual tree
segmentation process, however doing so may also decrease the segmentation
accuracy, if the parameter value is set too large.
Minimum Cluster Size: This is the minimum threshold of cluster size of point
cloud which will participate in tree segmenting. Clusters of points smaller than
this size will be treated as high-level noises and not participate in tree
segmenting. Therefore, decreasing this parameter will increase segmentation
accuracy and but decrease efficiency; vice versa.
Maximum DBH, Minimum DBH: the range of allowable DBH values to be
fitted during the segmentation routine, if DBH values are not provided in Seed
Point files.
Height Above Ground: Only the points above this height will be considered
during the point cloud segmentation. This parameter is used to eliminate the
influence of ground points and lower vegetation on the segmentation results.
Minimum Tree Height: Lower threshold of an object which can be
recognized as an individual tree by the segmentation tool
Please refer to user guide for detailed introduction of tool parameters: Point
Cloud Segmentation from Seed Points.
2 Add the point cloud file that was input to Point Cloud Segmentation from Seed
Points tool in the previous step to a LiDAR360 3D viewer.
Each point representing a tree now has a Tree ID value associated with it which
is visualized by Display by Tree ID
The Point Cloud Segmentation from Seed Points tool also creates a CSV file
containing tree attributes for all TreeID records including TreeLocationX,
TreeLocationY, TreeHeight, DBH, CrownDiameter, CrownArea, and
CrownVolume. The height above the ground surface from which the DBH
measurement was taken for each TreeID is also recorded in the DBHHeight field.
CSV file created by Point Cloud Segmentation from Seed Points tool
2 Go to TLS Forest > Point Cloud Segmentation, input the normalized point
cloud data, set Height Above Ground to 0.6 m and then click OK.
Trunk Height: the height between the bottom of the tree and the first branch.
The algorithm will extract the points in the elevation range that extends
between Height Above Ground and Trunk Height. These extracted points are
then used to detect tree trunks which will serve as the starting point of growing
of an individual tree point cloud. It is suggested to set this value less than the
height of the lowest tree branch.
Once added to the LiDAR360 project, users can right click on Table Layer in the
Project Window and select Table Attribute to view the forest inventory metrics
extracted for each TreeID.
Note that the Point Cloud Segmentation tool can only be run on a point
cloud dataset on which TreeID values do not yet exist. If the desired input
point cloud already contains TreeID information created during a previous
run of the dataset through a LiDAR360 segmentation tool, simply remove
these values with the TLS Forest > Clear Tree ID function.
Exercise 4. Measure Individual Tree Attributes
The Measure Individual Tree Attribute window allows the user to measure the
attributes of individual trees interactively, including Height, Straightness, Crown
Area, and more. These measured values can then be saved to a database table that can
be edited in LiDAR360 and exported as a user-friendly .CSV formatted file.
1 Go to TLS Forest > TLS Editor. The TLS Editor toolbar will appear in the
active viewer. On the toolbar, go to Editor > Start Edit. Select the TreeID
attributed normalized point cloud generated in Exercise 3 from the drop-down list
as the file to edit and click OK.
2 Navigate to Editor > Open Seed Points File to load the .CSV result from
Exercise 3 into the TLS Editor. Set Skip Lines to 1 and click Apply.
3 Click on Measure Individual Tree Attribute to view the Seed Points File
attribute table in the Measure Individual Tree Attribute window.
4 Use Profile to draw a profile view of a hexagonal region surrounding a
selected individual tree record. To change the size of the region adjust the Profile
5 Once a profile view has been drawn, double click on the number in front of a row
in the attribute window to zoom to the corresponding individual TreeID record in
the TLS Editor’s 2D and 3D viewers.
Note that view angles in the profile view window can be switched using the view
controls .
7 After each measurement, right click on the Tree Height cell of the current tree
and click update to update it with the measured value.
The Tree Height of TreeID #4 before and after updating measurment
8 Use the Height Measurement tool again, but this time to measure the
height from the ground to the bottom of the first branch to find the Crown Base
Height (CBH).
9 Right click on the CBH cell of the TreeID #4 and click update to update it with
the measured value.
Measure Straightness
In LiDAR360, Straightness of a tree stem is measured using the method proposed by
Macdonald E et al., 2001. MacDonald et al.’s straightness measurement system
comprises a 7-point scoring system from 1 (least straight) to 7 (straightest) based on an
estimate of straight log lengths in the first 6 m of the stem.
10 To measure straightness, first use selection tools to select target point cloud to be
measured in the profile view.
tool .
12 Use Area Measurement tool to measure areas as needed. The profile view
will switch to an orthogonal projection view with this tool activated:
13 Users have the option to filter the point cloud display by TreeID and hide points
of surrounding trees while making measurements on a specific individual. To do
this right click on the point cloud in Layers, go to View Mode > Display by
TreeID, and then set the display range to contain the desired TreeIDs.
In the example below, Min and Max TreeIDs are both set to 39 to display only
this tree.
Only TreeID #39 is displayed in the viewer
14 Click in the profile view to draw a measurement area. Notice how the
measurement result updates as you go. Double click to finish drawing.
15 Right-click at the Crown Area cell in the Measure Individual Tree Attribute table
of this tree to update its Crown Area value.
16 Crown Diameter can be determined by first measuring the Crown Area, and
then solving for 2r using the equation S=πr².
For technical articles, user stories, and other product information, please visit our
official website https://greenvalleyintl.com/.