
The tools I want to write about today is lastools software suite and is my earliest exploration tools I have used when I first learn about LiDAR. The very first tool I have used is las2txt (https://rapidlasso.com/las2txt/) because back in the days I didn’t know how a *.las file look like so I turned the file into text for studying. In this post, I will talk about few of the commands that I use most often and include my study notes for you.
Las2txt

Download the tools and double click las2txt.ext, you will be able to input your file (red box 1), and select the attributes (e.g. x, y, z, intensity…) (red box 2) that you want to write to your text file.

Another way to run las2txt (or any lastools) is to run it in command prompt, like the above figure. The syntax is straight forward, it involves calling the exe (las2txt); the input file (-i); the parameters (-parse); and the output file (-o). The details can be found in the readme file that you have downloaded.
las2ground
- This is a tool for bare-earth extraction: it classifies LIDAR points into ground points (class = 2) and non-ground points (class = 1)
- lasground -i terrain.las -o classified_terrain.las
- Modify the classification (e.g.)
- -set_classification 2
- -change_classification_from_to 2 4
- -classify_z_below_as -5.0 7
- -classify_z_above_as 70.0 7
- -classify_z_between_as 2.0 5.0 4
- -classify_intensity_above_as 200 9
- -classify_intensity_below_as 30 11
- -nature (default step size 5m)
- -town (step size 10)
- -city (step size 25m)
- -metro (step size 35m)

More information: https://rapidlasso.com/lastools/lasground/
http://lastools.org/download/lasground_README.txt
lasnoise
- This tool flags or removes noise points in LAS/LAZ/BIN/ASCII files
- ‘-step_xy 2’ and ‘-step_z 0.3’ which would create cells of size 2 by 2 by 0.3 units
- Noise = class 7
- lasnoise -i lidar.las -o lidar_no_noise.las
- lasnoise -i *.laz -step 4 -isolated 5 -olaz -remove_noise
- The maximal number of few other points in the 3 by 3 by 3 grid still designating a point as isolated is set with ‘-isolated 6’
More information: https://rapidlasso.com/lastools/lasnoise/
http://lastools.org/download/lasnoise_README.txt
lasheight
- Computes the height of each LAS point above the ground.
- Assumes class 2 = ground points and so ground TIN can be constructed
- Ground points can be in a separate file ‘-ground_points ground.las’ or ‘-ground_points dtm.csv -parse ssxyz’
- e.g. lasheight -i *.las -ground_points ground.las -replace_z
- More information: https://rapidlasso.com/lastools/lasheight/

lasclassify
- This tool classifies buildings and high vegetation (i.e. trees) in LAS/LAZ files. This tool requires lasground and lasheight has been processed
- Default parameters
- ‘-planar 0.1’ (= roofs) or ‘-rugged 0.4’ (= trees) regions. Above ground threshold with ‘-ground_offset 5’, default is 2.
- deviation of up to 0.2 meters that neighboring points can have from the planar region they share. The default is 0.1 meters.
- e.g. laslasclassify -i in.laz -o out.las -planar 0.15 -ground_offset 1.5
- “Please note that the unlicensed version will set intensity, gps_time, user data, and point source ID to zero.”
More information: https://rapidlasso.com/lastools/lasclassify/

I hope my notes can help you get started with LiDAR data.