LiDAR Processing Project
The purpose of the project is to learn how to manage large datasets required for large LiDAR projects including file organization, project creation, tiling, and classification of points. Each of these workflows will be discussed in detail.
The LiDAR data being studied is from the Lawrencetown area in the Annapolis Valley of Nova Scotia Canada. The dataset was supplied to the Centre of Geomatic Sciences by the Applied Geomatics Research Group out of Middleton, Nova Scotia, associated with Nova Scotia Community College. Refer to the location map below.
The suggested folder format included one folder each for the following data, blocks, las files, reports, macros, and study area (recommended by Rob Hodder, COGS 2015). These folders will come to make more sense throughout the course of the project.
Creating a Project
The creation of a project requires many different steps including the creation of a microstation design file, the creation of a terrascan project, creation of blocks (or tiles) over the study area, and finally the import of the LiDAR *.las files.
Creating a Microstation Design Project
Creating a new project is a process completed through the microstation file menu. Default settings were mostly used with the exception of the 2d seed setting which was switched to 3d seed as appropriate for the LiDAR data import. This was completed, and a microstation project was born. Upon project creation 4 viewers were opened in microstation. The purpose of the 4 viewers is to make it easier to view from multiple angles (top, bottom, profile, oblique etc). For a step by step walkthrough with screen grabs of this process, refer to this tutorial.
Creating Project Levels
In microstation, as with most GIS and photo editing softwares, the final product is made up of layers of files. Two levels were created for this project including one layer for the study area and one layer for the blocks that were going to be created in a later step. Tasks that can be completed in level manager include moving objects between layers, setting active layers and changing layer properties. If you want more information, click here!
Importing Reference Layers
A reference layer is anything you are going to use for your project that is not a LiDAR *.las file. In this case study, the file to be imported was the study area or area of interest. The purpose of using a study area boundary is to ensure that you aren’t analyzing points outside of the scope of your project. Eliminating these unnecessary points will decrease processing time and the file sizes associated with your project.
For step by step instructions on importing reference layers, click here.
Save your results in the microstation menu (file — save). The next step will be to create a terrascan project.
Creating a Project
Five options were considered when creating this project : project name, project directory, block size, storage method and block prefix. Most of these settings are simply based on user preference. The block size for this project was set to 1000m. This means that each block is 1000mx1000m or 1kmx1km. The size that you set your blocks to may depend on your computer processing power, the overall size of your project, the density of data gathered or, most likely, all of the above.
The purpose of creating blocks is so that the data can be segmented for loading and processing purposes. The LiDAR points in each block can be loaded and/or processed at anytime without loading/changing the entire dataset. As you can imagine if you have 200 million points over a 10x10km study area, there is benefit in only needing to load 20 million of them at a time.
Blocks can be created as overlapping or non-overlapping. For this case study we used non-overlapping blocks. Creating overlapping blocks would create a buffer between the two blocks which is beneficial for the production of dems or contours.
During block creation the settings used were for outside blocks – create grid blocks, block overlap – no overlap, and scanner numbers – use from file. Other settings were left as default.
After the blocks were created, it was noticeable that many of the blocks were outside of the study area. This means that the project had points outside of the study area. This could be a result of testing the hardware, navigating beyond the study area to line up points, location errors etc. It was determined that these blocks did not need to be used as they did not focus on the study area. Thus, they needed to be removed from the TerraScan project.
To remove unwanted blocks the steps taken were as follows
1) Delete all of the files from within your TerraScan project window
2) Delete all of the files from your blocks windows directory
3) In the viewer, delete the footprint of unwanted squares.
4) Within your project recreate the blocks based on boundaries (instead of imported points)
5) Change the settings used in block creation. Instead of create grid blocks, select ignore outside blocks.
This recreates blocks based on the remaining boundaries and ignores points outside of the remaining blocks. In the example there were approximately 58 million points. By redefining the project 6.7 million were ignored.
Due to the multiple returns that are the result of LiDAR data collection, each point in a point cloud can represent one of many features including ground surface, low vegetation, high vegetation and buildings/infrastructure. For viewing aid it is important to classify the points based on it’s feature type. For this project a macro was designed for the purpose of distinguishing between the mentioned features but specifically targeted the creation of a good dem layer. The macro that was designed initially reclassified all points into a default class. The steps to follow are as described below
1) Points were classified into the isolation category. A point was considered isolated if there were 3 or less points within 1.2 m of any point. If this was true the point was moved from the default layer to the low point layers.
2) Points were classified into the low point category. A point was considered low if it was 0.5 m below the points within a 3 m radius. This was done for a group of points numbering 6 or less. These points were reclassified into the low point layer. This was run again using the single point numbering option using 0.3m and a 3 m radius.
3) Next the ground points were determined. All future point reclassification relies on a defined ground class. The ground class was run twice to try to capture points from different types of terrain. In the first ground reclassification a point was reclassified if it had a max building size of 60, a terrain angle of 88, iteration angle of 6, iteration distance of 1.4. Other settings were left as default. The second round of reclassified ground points were done using a building size of 60, terrain angle of 60, iteration angle of 6 and an iteration distance of 1.2. This was an attempt to improve the accuracy of the ground points in very flat areas.
4) Next height above ground from 0.3 to 200 metres was classified as default. This was to minimize the data reduction from isolation and low point routines in the vegetation foilage.
5) Not all ground points were included in the original ground file. I ran a height above ground from -0.15 to 0.25 on the low point classification and re-classified all points in that zone as ground points. Additionally I classified all default points from 0-0.3m as ground points as well. This helped the most in areas with very low point density.
6) Removed below ground points with a standard deviation of 3 and z-tolerance of 0.2
7) Classified Low, Medium and High vegetation using the height above ground tool. Low vegetation was considered 0.25 to 1m, medium vegetation 1-2m and high vegetation 2-200m.
8) Finally the building routine was run moving points from high vegetation to building using a building size of 40 and a z-tolerance of 0.5.
In lamens terms this macro removed isolated points that didn’t meet the requirements of having 3 other points within a 1.2 m radius buffer. Next the low points were removed. To do this the software takes the average height of all the points within a radius (3 m) and removes the point if it is x distance below the average. In this case x distance was 0.3 m. With unrepresentative points removed, the ground layer was classified. The parameters used to classify low and isolated points initially removed some of the foilage returns. To add those back into the analysis all points higher than 0.3 m above the ground were reclassified to default. Next all points within a certain distance from the ground within the default or low points classes were moved to the ground class. Points below the ground surface were removed. Different vegetation levels were classified and the buildings were removed from the high vegetation class.
LandsatLandsat view of blocks 15, 16, 19, 20 over Lawrencetown Nova Scotia, Canada
ClassifiedClassified view of blocks 15, 16, 19, 20 over Lawrencetown Nova Scotia, Canada Legend : Orange – Ground, Green – Vegetation, Red – Building, Pink – Noise, White – Unclassified.
Results and Discussion
The classification of this LiDAR point cloud was complicated slightly by the varying point density on a few of the flightlines as discussed in the classification section. Additional difficulties included the removal of the points below the surface, the retention of foilage and achieving a solid ground surface.
Points below surface need to be removed before the ground is classified or they will be used to define the ground class which is often not appropriate. By removing isolated points and points that are lower than the average in a buffer the ground surface results are more accurate. Because of the sparse point cloud in foilage, a lot of vegetation points were removed with this filter. To fix this problem all points at a certain height above ground were reclassified to default.
Areas with lower point density decreased the overall DEM accuracy as a wider buffer had to be used for the classification of isolated and low points. Essentially the classification of isolated points is dependent on the point density. In this data set the density ranged between 1.1 and 0.2m depending on vegetative cover and flight speed, overlap and possibly atmospheric interference. The ground classification could have been more accurate in the 0.2-0.5m density areas if it didn’t have to be broadened for the lower density zones.
Roofs were best detected with building parameters of 40m building size and 0.5 Z tolerance. Initially a Z tolerance of 0.2 was used but it captured almost 50% less rooftops. Normal rules were applied.
For a step by step guide on how to apply macros, refer to this documentation.
The results of the classification can be seen in the two profiles below.
This is a project completed for the Centre of Geomatic Sciences LiDAR Operations course.