LiDAR Data – Thousands of Tiny Luminous Spheres
This post covers the basics of LiDAR data and how very high resolution DEMs can be derived from LiDAR data.
With an appropriate nod to The Bats, we’ll cover LiDAR data, which, while sort of luminous but not spherical, are certainly tiny and numerous. Thousands is a HUGE underestimate. LiDAR is a form of remote sensing and, though this is in dispute, is generally accepted to stand for Light Detection and Ranging. LiDAR uses lasers to measure distances by monitoring how long it takes a beam of laser light to return to its source after bouncing off stuff. Think back to those old Hollywood war movies involving submarines. High tension as they pinged other subs and ships with sonar, and used that as a way to figure out where the enemy was. LiDAR works in a similar way only using light instead of sound. In practice, this usually means mounting a laser system into an airplane equipped with a high-precision GPS system. The laser system fires out a series of beams but also has a receiver that monitors when the beam reflects back to its source. Then we’re back to some basic high school physics. Light travels at a roughly constant speed (3 x 10^8 m/sec for those playing at home) so if we know how long it took for the signal to return, we can also determine how far away that point is from its source (after dividing by 2). The GPS is then used to locate exactly where the airplane is. So picture an airplane flying over the ground, shooting out beams of laser light as it goes. Also picture a collection of points on the ground where the laser beam hits the earth. These points also hit trees, and building, and cars, and people and anything on the ground. Those are our luminous spheres (well, points):
There’s one more aspect of the system. Anyone who’s flown in an airplane will be familiar with turbulence and how that can change the direction the plane is facing.
To take this into account, the airplane is also equipped with an Inertial Measurement Unit (IMU) which brings pitch and yaw into the picture. The three components together allow the three dimensional position of all those points on the ground to be calculated, giving us x, y and z coordinates which we can then map. Since laser light is used, we can have millions if not billions of points on the ground. The average spacing between these points may be on the order of half a metre, so from LiDAR data we can derive some very high resolution DEMs. And therein lies the real power of LiDAR – the collection of high resolution and high precision elevation points over large areas in relatively short amounts of time.
As you might imagine, after the Christchurch earthquakes, several sets of LiDAR data were collected, many of them just after major aftershocks. These data have given us an extensive picture of how the topography of the city and region has been changed by the earthquakes. So now we’ll cover some of the basics of how we can work with these data.
LAS Files – Raw LiDAR Data
Once the raw data have been processed, the output is a “point cloud” and could be as simple as a text file of x, y and z points. Typically, extra data are collected which we’ll talk about later, but because LiDAR datasets can be so huge, they’re typically encoded in a standard binary format, known as LAS files. These are usually broken up into tiles that are subdivisions of the standard 1:50,000 topomap extents. Sorties were flown just after the September 2010 earthquakes – a total of five sorties were flown between September 2010 and December 2011. In the image below, you can see the tiles for a mission flown in February 2011, just after the Lyttelton earthquake.
Quite an extensive coverage. Note that Lincoln is covered so we’ll focus on those tiles as we’re all pretty familiar with the place. For this dataset there are 4994 separate tiles and a total of, get this, 1,078,978,468 points! Yes, that’s a billion points. For the Lincoln subset we’ll deal with two tiles and a mere 2,161,269 points. One handy way to deal with LAS files is to create LAS Datasets, which give us a quick way to visualise the data. We can use the Create LAS Dataset tool on raw LAS tiles and quickly convert that to something useful:
We can point this tool as whole folders or individual tiles. We’re managing a lot of data here and it usually pays to keep the input data to just the tiles you need. Processing can take significant time, just ask the ERST310/607 students. At the end we can add our LAS Dataset to an ArcMap map and get a sense of what’s in there.
For those of you who would like to play at home, there’s a copy of this LAS Dataset on J:\Data\LincolnLiDAR. Below is the LAS Dataset for our two Lincoln tiles:
We can visualise these in a number of ways but adding the LAS Toolbar.
We can set our layers to show the points, or an elevation surface built off those points. Below I’ve zoomed in to a set of points – their elevations are colour coded. You can get a sense of their spacings with the satellite image underneath (that’s the Forbes Building we’re looking at).
Before we turn the elevation surface on, we can go a step further with these points. Zooming out and clicking the 3D viewer, we get a window that allows us to move the point cloud around to see more detail – recognise where we are?.
Maybe not – it’s the Forbes lawn looking toward Ivey Hall, trees and all. We can also get a profile by clicking the 3D Profile tool and drawing a line on the points. We can also give it a bit of width and see what that looks like:
Ivey Hall and Memorial Hall and the trees at right. We should now delve a bit deeper in to the data. Imagine a laser beam encountering a tree. Parts of the beam perhaps hit a leaf. Some of that light gets absorbed, some bounces off and returns to the airplane. This is our so called “first return”. Parts of the beam may continue on through the tree, maybe encountering a branch or another leaf, and as above, some gets absorbed, and some bounces back to the plane – our “second return”. Eventually, the beam hits the ground, some gets absorbed, some bounces back to the airplane – our “last return”. So one beam may have multiple returns as shown below:
If the beams bounce off a hard surface like a building roof, or a car, or your head, there may only be one return. These returns are recorded in the data and can be mapped. If you click on the points button on the LAS toolbar, you’ll see you can show the points as elevation, class or return. Here’s what the returns look like:
Mostly first returns in these data. As to class, the points can also be classified into a set of predefined classes as outlined by the American Society for Photogrammetry and Remote Sensing (ASPRS) protocol into these classes:
This isn’t even all of them – check here for the whole set. These classes can be terribly useful – unfortunately, the classes of the earthquake LiDAR sets is pretty inconsistent across the datasets but at a minimum we tend to have ground and non-ground. We’ll see later how this can be quite useful.
Let’s now turn to the elevation surface:
We can clearly make out buildings and roof shapes now – that’s the Forbes Lawn again. The surface button allows us to visualise the elevations, aspect, slope and contour lines. To see the real impact of the returns, let’s look at the Filter menu. Notice that when we click it we’ve got a few options:
We can choose All, Ground, Non Ground and First Return. All will show us all returns, i.e. everything. This allows us to see the trees and the buildings as well as the ground level. Setting this to Ground will display only those areas classified as ground level, as if we could just sweep everything on the surface aside. Here’s what that looks like for the same view as above:
The surface has done its best to interpolate the ground surface where the buildings are. The Non Ground setting shows us what’s been classified as not ground while Last Return shows only the areas derived from the last returns (which usually doesn’t show major differences for these data).
While LAS Datasets are quite useful for visualising the raw data, they’re not able to be used for analysis. To do further useful stuff with this we’re best to convert the LAS Datasets to raster grids. There are two main grids we’d want to derive from these data: grids that show the “bare earth” elevations (DEMs) and grids that also incorporate surface features like buildings and trees (DTMs – Digital Terrain Models). It’s a two-step process to get each. We can use the LAS Dataset to Raster tool to create the grid, but we need to first filter the data to use the correct returns. We can do this from the LAS Dataset Properties Filter tab. There are some predefined settings which make life a bit easier. For the bare earth DEM, set this to “Ground”. We also need to set the Filter on the LAS Toolbar to Ground.
Next we can use the LAS Dataset to Raster tool. Given the high resolution of these data, we can easily get grids with a 2 m resolution:
This will create a “Bare Earth” raster grid for use with further analysis.
If we next reset our filters to Non Ground and the run the tool again we’ll get a DTM which includes the surface features:
This could be a useful grid for more realistic viewsheds. One of the things we’ll cover later on is how grids like this will allow us to build realistic and accurate 3D models using CityEngine. This is one of the promises of LiDAR – accurate extraction of building from the data, still a bit of a holy grail but we’re edging ever closer.
So using LAS Datasets is one way of creating DEMs/DTMs. There is another way which is arguably a bit better (i.e. less “noisy”) which involves using Terrain Datasets. Contact me if you’d like to hear more about this.
LiDAR data is a powerful (though not inexpensive) way of creating high resolution elevation grids using lasers, GPS, IMUs and a whole lot of number crunching. I’d hazard to say that most people will probably end up working with the end products of work such as what I’ve outlined above. For example, the LiDAR derived 2 m DEM is available on ECan’s data service:
Stay tuned over the next few weeks for some interesting applications of LiDAR data.