= LIDAR Classification = == Purpose == To identify different types of LIDAR return and what they relate to. For instance the basic groups will be: ground, vegetation, buildings and noise. For the purpose of ARSF LIDAR deliveries we just classify noisy points. These typically tend to be due to the atmospheric conditions (cloud and haze), signal noise or single isolated points. == Method == We can use the !TerraScan software or the in-house classify_las program for point classification. The !TerraScan usage can be found on other pages of the wiki. === classify_las.out === This is a c++ utility written to do basic classification on LAS files. The current classification algorithms include: * Isolated points - identify points as noise (classification 7) if there is no other point within x metres of it. * Absolute elevation - identify points as noise (classification 7) if they are above or below a given elevation. A fence can be used to only classify points within a rectangular boundary (in any orientation). '''Usage''' '''YOU MUST BE ON A FEDORA 12 MACHINE TO RUN THIS''' {{{ -lasfilein The LAS file to be imported and classified -lasfileout The name of the output LAS file optional flags -fence minx miny maxx maxy Use a fence whose bounds are given by minx,miny maxx,maxy -fence px py qx qy width Use a fence defined by centre line pq and width. width is the full width of the rectangle not the distance from the centre line to the edge. method flags -isolated x Run the isolated points algorithm using a distance of x metres -above x Run the absolute elevation algorithm classifying points with elevation above x metres -below x Run the absolute elevation algorithm classifying points with elevation below x metres -intensity x Run the intensity based algorithm classifying points below a certain intensity level -cloud [a [m [t [i]]]] Run the cloud search algorithm to classify cloud points below ground. This can be run using the default values (shown in brackets) or values set on the command line a = area over which to calculate the mean (500 metres) m = multiplier for distance away from mean eg mean - m*std deviation (3.0) t = threshold to ignore classification eg areas with std deviations less than t are ignored (4.0 metres) i = intensity value threshold - ignore classifying points with intensity greater than i (10) }}} The output LAS file will no longer have its points ordered by time, but rather by the quadtree / pointbucket ordering which is used to speed up searching within the software. Any number of methods can be run through on the same command. '''Example''' - to classify isolated points {{{ classify_las.out -lasfilein example.LAS -lasfileout classified.LAS -isolated 5 }}}