LiDAR Processing
LiDAR Processing
Now we
will import trajectories. Browse to Manage Trajectories icon. . This can be
accessed either through Applications > Terr Scan > General or by c icking and dragging the first
icon in the TerraScan toolbox.
Goto File > Set directory to set directory for storing trajectory files.
Figure 9: Setting the directory for Trajectories
Browse to a folder of your choice. To import trajectory files click File > Import files for importing trajectory files.
An Import Trajectories window opens. Browse to UTM-17N (81W) in WGS84 field. Check the
Thin positions check box.
Figure 12: Setting the import parameters for trajectories
Click OK. Now select the trajectory file named 403542_409436.trj in Trajectory window and click on Show
location to view the trajectories.
TRAJECTORIES
In the Trajectories window, go to Tools > Draw into design
Place a rectangle box so that we can trim the trajectory information. This rectangle tool is available in the
Microstation toolbar.
Select the polygon/rectangle. In Trajectories window, goto Tools > Delete outside polygon
Click OK.
Figure 18: Parameters for deletion
Click OK in the information window. Now click on the trajectories and press delete.
Browse to the folder containing the raw laser data and select all LAS files. Click Add and then
OK.
In the Load Points window, do not apply transformation in WGS84 field. Also load every 10th point in the data and
uncheck the remaining fields.1
1 We load every 10th point from the given data so as to conserve memory for basic processing. Further, the total number of points
from all the LAS files is too large.
Figure 25: Setting parameters for reading data points
Click OK.
CREATING A PROJECT
Now we will create a project. Click Define Project icon. Goto File > New Project
In Description, enter Niagra. In Storage field, set the option to LAS binary. Check the Load class list automatically
and select niagara.ptc from the given data.
Check the load trajectories automatically and browse to the folder containing the trajectory files. Click OK.
Save the project to a desired folder where the file name is Niagara. Click Save. Now we will add block to the project.
For this, select the boundary by clicking on it.
Click OK. Click OK in the Information box. In the Project window, go to File > Import points into project for
importing data points into project.
Browse to the folder containing all the raw laser LAS files and select all the LAS files. Click
Add and then click Done.
Set flight numbering to increase by file. This is done to display data corresponding to flightlines.
Figure 34: Parameters for importing the point data into the project
Close the report. Click File > Open block in TerraScan to view the data points in the project.
In Measure Point Density window, enter 1000 in Width field and select Rectangle in Sample field.
Now just by mouse click in the data, you can see the point density at the bottom pane of
Microstation.
DATA VISUALIZATION
Now we will practice various modes of displaying data. Click View > Display mode. In Color
field, select by Elevation. Click coloring scheme button.
Click Auto fit button. Click OK. The point cloud is displayed with color scheme corresponding to elevation.
We will now practice the display of various section functions. Goto Draw section . Draw a line and keep small
width of section for display.
Low point routine is required to be run more than once. Classify>Routine>Low points>From default To Class Low
points, In search Single point , Type 0.5 in More than, Type 1.00 in More than and 7.00 in within>click Ok
Figure 24: Check the performance of low point routine; only low point class is displayed
Figure 25: Cross sectional view. Low points are grouped to a separate class, marked in red
Type say 75 m in max building size, Terrain angle 88deg, Iteration angle 6 deg., Iteration distance 1.40m, Check
Reduce iteration angle when Edge length<5.m >Ok
Check the performance by viewing the ground class (Select color by class in view 1using display mode
window)>Switch off all the classes except ground class>Apply
Figure 23: Checking performance of ground classification
Ground classification using above technique will not result pure ground class points. As classified ground points are
mixed with some below ground points as well.
To view results: Switch to View>Display mode>Switch off all other Classes except Temporary;(To see all the
point-Select , Normal-All point in Speed>Apply)>Switch to class coloring>Draw sections to evaluate results.
Figure 32: Displaying below surface classified point from ground class
Figure 33: Checking the performance of below surface point classification in cross section
We will have to test above classification with other parameter values as well, to select best parameter. In order to do
that we need to undo below surface classification and then classify it with different parameter.
Select point>Undo below surface
(Note: Above technique of undoing is very useful to revert back to previous stages at the time of classification)
Classify>Routine>Below Surface>From Class Ground To class Temporary, Type 6 in limit-
>Ok
To view results: Switch to View>Display mode>Switch off all other Classes except Temporary; (To see all the
point-Select , Normal-All point in Speed>Apply)>Switch to class coloring>Draw sections to evaluate results.
Similarly we will test with few other limiting values before finally deciding the suitable parameter. Let us say 4
gives us the best results. Set it to 4 and classify low points from ground class using above parameter. After
classification of points to temporary class we need to Transfer Temporary class points in to Low point class
Classify>Routine>from class Temporary To class Low point>Ok (Entire class will be shifted to low point class.
There are different ways to carry out interactive classification using above tool box such as Assign point class,
Classify using brush, Classify fence etc. One can use many of these tools to classify error points.
Assign point class (2nd icon from left in figure 43)
Assign Point class classification>From any visible point, To class say low point/building/water etc; select closest
within 2 m
Classify using brush (3rd icon from left in figure 43)> From class Ground To class low point
/building/water etc; > apply it at different places as per your judgment.
Start display shaded surface tool (6th icon from left in display surface tools) >Type Surface information Name say
ClassLiDAR>make sure only view 1 is on>Ok>Switch off all classes in view 1 (we are also generating BEM of the
area in this procedure)
Figure 30: Display surface tools
Figure 52: Shaded surface is displayed in view1 and ground class with ortho photo is displayed in view 2
Figure 53: Shaded surface is effectively the BEM of the area
Now we will use shaded surface to rectify our ground class further. In BEM (or shaded surface model) strange
looking places are easily visible. This might involve erroneous point. We need to zoom inside such places and
rectify such points.
Figure 54: Strange appearing shades in BEM generated as non ground point is classified as ground
Search strange looking places in model>classify it if required (use different viewing windows and sections with
interactive tools i.e. Classify Point, Classify by Brush for classification)>We need to continue classification until we
are happy> when complete>Select> file save points.
Figure 31: Error points in ground is classified to water class using assign point class classification tool
Buildings routine classifies building points which form some kind of a planar surface. This routine requires that you
have classified ground points before. After building classification we can check the performance of building
classification by displaying only buildings class points over ortho photo in view 2 (by switching off all the class
except buildings using display mode options) and/or using a sectional view of building class.
Select add>Inside Macro step select action-classify points, Routine –By class>ok>classify by class, From class
Default—To class Low vegetation >Ok>Add>action classify point, Routine By height from ground>Ok>From
class Low vegetation To class Medium vegetation, min height 0.25 , max height 999 Ok>Add>action classify
point, Routine By height from ground>Ok>From class Medium vegetation To class High vegetation, min ht 2 ,
max height 999
Figure 61: Classify entire default class to low vegetation using classify by class
Figure 62: Classify low vegetation points to vegetations of different heights using by height from ground routine
Figure 63: Setting parameters in classify by height from ground for low to medium vegetation
Figure 64: Setting parameters in classify by height from ground for medium to high vegetation
Now we will run the macro vegetation.mac from tool. (it can also be run from macro window itself if it is not been
closed)
Tool>run macro>browse vegetation.mac> run it on loaded points >ok
Figure 66: Runing a macro on loaded points
After running the macro it will generate a report. The report should be consistent with the data. So we can Check
report and then close it.
We can now check the performance of vegetation point classification. A section can be drawn across the terrain for
this purpose.
Figure 68: Sectional view of classified vegetation points i.e. low (pink),medium(sky blue),high vegetation(in green color)
Majority of over below ground, ground and over ground points have already been classified. We can check
performance of these classifications using a section.
Figure 69: Classified low points in a section
Figure 355: Classified low point, ground, low vegetation, medium vegetation, high vegetation and building points in a
section
Vegetation class data points may not be giving us the pure vegetation class it would have data points from utilities
such as tower, overhead wire etc along with few building points which could not be classified ( particularly, gable
roofs) properly during building classification. Hence we can classify further the high vegetation to isolate possible
power or transmission line points.
FURTHER READING
Ground
Ground routine classifies ground points by iteratively building a triangulated surface model. The routine starts by
selecting some local low points as sure hits on the ground. You control initial point selection with the Max building
size parameter. If maximum building size is 60.0 m, the application can assume that any 60 by 60 m area will have
at least one hit on the ground (provided there are points around different parts of the area) and that the lowest point
is a ground hit.
The routine builds an initial model from selected low points. Triangles in this initial model are mostly below the
ground with only the vertices touching ground. The routine then starts molding the model upwards by iteratively
adding new laser points to it. Each added point makes the model follow ground surface more closely.
Iteration parameters determine how close a point must be to a triangle plane so that the point can be accepted to the
model. Iteration angle is the maximum angle between point, its projection on triangle plane and closest triangle
vertex. Iteration distance parameter makes sure that the iteration does not make big jumps upwards when triangles
are large. This helps to keep low buildings out of the model.
The smaller the Iteration angle, the less eager the routine is to follow changes in the point cloud (small undulations
in terrain or hits on low vegetation). Use a small angle (close to 4.0) in flat terrain and a bigger angle (close to 10.0)
in hilly terrain.
Setting: Effect:
From class Source class from which to classify points.
To class Target class to put points into.
Select Selection of initial ground points. Use Current ground
points when you want to continue iteration in a
fenced,
previously classified area.
Max building size Size of largest buildings.
Terrain angle Steepest allowed slope in ground terrain.
Iteration angle Maximum angle between point, its projection on
triangle
plane and closest triangle vertex. Normally between 4.0
and 10.0 degrees.
Iteration distance Maximum distance from point to triangle plane during
iteration. Normally between 0.5 and 1.5 m.
Reduce iteration angle If on, reduce eagerness to add new points to ground
when inside
a triangle when every edge of triangle is shorter than
Edge
length. Helps to avoid adding unnecessary point
density
into ground model and reduces memory requirement.
Stop triangulation when If on, quit processing a triangle when every edge in
triangle is shorter than Edge length. Helps to avoid
adding unnecessary point density into ground model and
reduces memory requirement.
Building Classification
Parameters
Setting: Effect:
Ground class Class into which ground points have been classified
before.
From class Source class from which to search building points.
To class Target class to put points into.
Minimum size Smallest building plane size as square meters.
Maximum angle Steepest roof angle.
Elevation tolerance Elevation accuracy of laser points.
Maximum gap Maximum empty gap between points belonging to same
roof. Should be smaller than smallest gap between
adjacent buildings.
Model keypoints
Model keypoints routine classifies laser points which are needed to create a triangulated surface model of a given
accuracy. This routine is normally used to create a thinned data set from points classified as ground hits.
You control the accuracy with elevation tolerance settings Above model and Below model. These settings
determine the maximum allowed elevation differences from a ground laser point to a triangulated model. Above
model determines how much laser points can be above the model. Below model determines how much laser points
can be below the model. The application will try to find a relatively small set of points (= keypoints) which would
create a triangulated model of given accuracy. These keypoints will be classified into another class.
All other ground points are within the given elevation differences from a model that the keypoints would produce
when triangulated. Some of the ground points are above the model, some ground points are below. This
classification is an iterative process similar to ground classification. The process starts by searching for initial points
inside rectangular regions of a given size. The lowest and the highest source point inside each rectangle is classified
as keypoint and those are used to create an initial triangulated model. During each iteration loop the routine searches
for source points which are too far above or below the current model. If such points are found, the furthest points are
classified and added to the model. The Use points every setting provides a method for ensuring a minimum point
density in the final model even in flat places. For example, if you want to have at least a point every 10 meters, you
should set the Use points every setting to 10.0.
Setting: Effect:
From class Source class from which to search keypoints.
To class Target class to put keypoints into.
Use points every Rectangle size for searching initial points. The highest and
the lowest point inside each rectangle will be classified.
Above model Maximum allowed elevation difference to the triangulated
model from a source point above the model.
Below model Maximum allowed elevation difference to the triangulated
model from a source point below the model.
Setting: Effect:
Select Which point to choose around mouse click:
• Closest – Point closest to mouse click.
• Highest – Highest point within search circle. •Lowest
– Lowest point within search circle.
Within Search radius around mouse click.
From class Source class from which to take a point.
To class Ground class to add point into.
Reprocess Size of the area to reprocess around the added point.
Isolated points
Isolated points routine classifies points which do not have very many other points within a 3D search radius. This
routine is useful for finding isolated points up in the air or below the ground. When possibly classifying one point,
this routine will find how many neighbouring points there are within a gived 3D search radius. It will classify the
point if it does not have enough neighbours.
Setting: Effect:
From class Source class or classes from which to classify points.
To class Target class to put points into.
If fewer than Number of other points that must be found within a search
radius for the point not to be classified. Normally 1 - 5.
Within 3D search radius. Normally 2.0 - 10.0 m.