LiDAR LAB–created by Darren Janzen as a workshop - Section 1 -

Point Cloud Visualization

Overview

True LiDAR data is merely a point cloud. The LiDAR ‘data’ that users traditionally see are products of LiDAR data analysis, which we will be doing in the second session. In this session, we will examine two point clouds using a point cloud viewer developed by the US Forest Service called Fusion/LDV.

Point cloud depicting Hansard Creek (center front to center back) with the Aleza Lake FSR road crossing (center back)

Data for this lab are in /home/labs/geog457/lidar/Data

Fusion software for part I is in /home/labs/geog457/lidar/FusionSoftware

FUSION

Fusion is essentially the management tool, for the purposes of these exercises, the LiDAR input and formatting that allows Fusion/LDV to perform correctly has already been done. We will jump straight to the LDV portion of the program, LDV stands for LiDAR Data Visualization.

  • Start fusion by double-clicking fusion.exe (Start -> my computer)
  • Click Image, select HansardCreekOverview.bmp
  • Click Raw Data, select HansardCreek.lda
  • Left click the mouse button over a part of the on-screen data, and hold it down while dragging to create a box, this box is the data that LDV will load to visualize

LDV (LiDAR Data Visualization)

The speed of LDV is a function of how many points it has loaded and how it has displayed those points. We’ll start by changing the point display.

  • Right-click on screen
  • Select Personalities > Slow Computer
  • This will give you the fastest screen display rates
  • Right-click on screen
  • Select Personalities > Fast Computer
  • This will give you slower screen display rates
  • Right-click on screen
  • Select Personalities > Measurement
  • This will highlight those points within the column
  • If all the points seem to disappear except a small circle of them, then:
  • Right-click on screen
  • Select ‘Draw only points within measurement cylinder’

Navigation

Navigation is accomplished with the mouse and the keyboard, here is a list of the methods

Rotate View – (Mouse) Left Click and Drag

Zoom – (Keyboard) Hold down Ctrl; (Mouse) Left Click and Drag (forward/backward)

Change Column Size – (Keyboard) Hold down Ctrl + Shift; (Mouse) Right Click and Drag (fwd/back)

Change Column Position – (Keyboard) Hold down Ctrl; (Mouse) Right Click and Drag

Change Height of Plate in Column – (Keyboard) Hold down Shift; (Mouse) Right Click and Drag

Measure a Tree Height

In Fusion, Pick an area where you can see a clear isolated tree crown, select that area for viewing in LDV

To measure a tree:

  • Go into measurement mode (Personalities – Measurement)
  • Position the column on the tree centre (see Navigation above)
  • Adjust the size of the column to be the same size as the tree (roughly)
  • Rotate till you have a good 3D perspective of the tree
  • Move the measurement plate to the highest point (see Navigation above)
  • Record this number
  • Move the measurement plate to the ground
  • Record this number
  • Subtract to get a tree height

Obviously, this is at least initially fun, but highly tedious

Now we will explore some much denser data. This data was collected using a very new LiDAR sensor which can return as many as 20 returns per pulse, in the case of this dataset that can be up to 20 returns per square metre.

In Fusion, select the image as DenseOverview.bmp and the Raw Data as Dense.lda.

For the most part, we will just take some time to explore with the data but I would like everyone to examine two things.

First, draw a large box over the northern area with the trees. In LDV, rotate so you are looking ‘down’ on the trees at a near vertical angle (but not perfectly vertical). You’ll see black holes ‘beneath’ each tree. Now rotate the cloud so you are looking at it from underneath, looking directly up. You are now looking up through those holes.

Why are those holes there? Why are there no ground returns there?

The other thing to examine is the black area to the south, this is an area with little vegetation so it is easy to visualize the ground. Computer algorithms examine all areas of a LiDAR cloud and attempt to use logic to decide which points are ground and which points aren’t. These algorithms are never perfect in vegetated areas because a small stump/log/devil’s club leaf etc might be considered to be ground. Even with human intelligence classification of each point is difficult, not to mention laborious. In the next section we will examine using some of this data to build continuous data surfaces.

LiDAR Workshop Lab Section 2 - Darren Janzen

Building Digital Elevation Models (DEMS) and Canopy Surface Models

Overview

LiDAR data essentially consists of a massive point cloud detailing the ground environment. This point cloud details the X,Y,and Z coordinates of every point but usually nothing else. Generally the ground environment is classified into two components, ground and not-ground. This classification requires advanced algorithms and specialized software that we won't be delving into today so the data you will be working with has already been grouped into two files:

  • HansardCreek_AllPoints.txt (detailing both ground and non-ground points)
  • HansardCreek_GroundPoints.txt (detailing just the ground points)

In this lab we will create a number of typical LiDAR derived datasets from these points, including:

  • A Bare Earth Model
  • A Hillshade Model
  • A Canopy Surface Model

Producing A Bare Earth Model

We'll use two methods of spatial interpolation to produce a bare earth model from LiDAR ground returns

  • Add the file HansardCreek_GroundPoints.txt to ArcMAP
  • Right-click on the file and select 'Display XY Data'
  • Make sure the X field is X and the Y field is Y, update - edit the coordinate system to UTM10; NAD83
  • Edit -> Select -> Projected -> UTM -> NAD83 -> UTM10
  • (ignore warning that follows completion!)
  • Turn on the GeoStatistical Analyst extension if it is not already on
  • Tools -> Extensions -> GeoStatistical Analyst (ensure it has a check mark)
  • Add the GeoStatistical Analyst toolbar to ArcMAP
  • View -> Toolbars -> GeoStatistical Analyst
  • Turn on the Spatial Analyst extension
  • Add the Spatial Analyst toolbar to ArcMAP

We will create a Bare Earth Model usingan interpolation technique, and a hillshade

General Procedure:

  • Select Geostatistical Analyst -> Geostatistical Wizard
  • Ensure that the HansardCreeks point layeris the input
  • The attribute we are interpolating is Z
  • Select the method of interpolation (Local Interpolation)
  • Hit next
  • Select to use the minimum input .. -> next
  • Finish
  • Produce the output
  • Right-click on the output and export to raster
  • Change the raster resolution (cell size) to 1
  • Output the raster to your desktop folder and name it suitably – ground ?

Once the interpolation is complete, create a hillshade model for visualisation

To create hillshade: spatial analyst -> surface analysis -> hillshade

The peaks and blips seen in the more detailed products are the result of outliers (features that were called ground by the LiDAR classification algorithm that in all likelihood were not), such outliers exist in all datasets. Typically, interpolation methods which maintain a high level of detail are more sensitive to these outliers (IDW with a power of 2) compared with those that don't (Local Polynomial).

Producing a Canopy Height Model

Now that we've built a bare earth model we are ready to use the full LiDAR dataset. What we want to do is build a Canopy Height Model which details the height above the ground of the tree canopy. We will again be using the GeoStatistical Analyst.

  • Add the file HansardCreek_AllPoints.txt to ArcMAP
  • Right-click on the file and select 'Display XY Data'
  • Make sure the X field is X and the Y field is Y, update the coordinate system to UTM10; NAD83 if needed

Using the GeoStatistical Analyst, create a model of the addedlayer (make sure to select the right one), instead of use minimum select to use maximum, and use the local polynomial, with a power of 2, click the advanced button, change the minimum number of points to 5 and change the smoothing parameter to 1.

Select finish, and export the result to a raster with a 1m cell resolution, named canopy ?

We now have a Canopy Surface Model which details the elevation (above sea level) of the canopy surface. We want to convert that to a Canopy Height Model which will detail the height above ground of the canopy surface.We do this using raster calculator:

  • Select Spatial Analyst -> Raster Calculator
  • Calculate the following
  • "canopy - ground" (or whatever you named them)
  • Click on ‘evaluate’ to make it so
  • You'll note that the resultant will have negative values (due to errors in interpolation of both surfaces)
  • Select Spatial Analyst -> Reclassify
  • Change the dataset being reclassified to the calculation you just created
  • Note the format of the entries (spaces between the values and hyphens)
  • Delete all the entries currently shown (or leave two)
  • Add two new entries
  • The first entry should reclassify all negative values to zero
  • The second entry should reclassify all positivevalues to one
  • Perform the reclassification
  • Multiply the original calculation by the reclassified calculation (Spatial Analyst - Raster Calculator)
  • Export the resulting calculation to a permanent Raster Dataset in your user directory (this is the final Canopy Height Model)– name it height

3D Visualization

Now we'll build a 3D visualization of the CHM in arcscene (could do in terrain bender !)

Start ArcScene.Start – Programs –ArcGIS – ArcScene

Load the Canopy Height Model (height); click on base heights tab and obtain heights from the canopy surface model (canopy) ..

  • The Canopy Height Model should first be displayed in grayscale, obtaining heights from the Canopy Surface Model with no offset. Tinker with the visualization stretch until it looks aesthetically pleasing.
  • Change the symbology display from grayscale to a suitable colour ramp
  • Note: you could also load hillshade, with heights from bare earth (ground) model

3D view of LiDAR canopy and bare earth