lasclassify - finding buildings and trees above the ground points

1,839 views
Skip to first unread message

Martin Isenburg

unread,
Sep 15, 2011, 3:30:13 PM9/15/11
to LAStools - efficient tools for LIDAR processing
Hello,

with lasclassify.exe you can classify LIDAR points into buildings and
vegetation. The tool requires LAS/LAZ files with identified ground
points (class = 2) as input. If your LAS/LAZ files do not have ground
points you can compute them with lasground.exe. The tool also requires
each point to store it's height above ground in the "user_data" field.
You need to (!) compute this with a run of lasheight.exe.

The tools has only been tested for smaller, suburban areas and may
have issues with large buildings, complex roof structures, bridges,
and dams. Noisy point clouds or mis-aligned flight lines may cause
troubles as well. But it produces very nice results for the small town
and suburban LIDAR data sets that I have tested on so far (see below).
You can find lasclassify.exe in the latest LAStools suite.

Regards,

Martin @lastools

lasground -i fusa.las -o fusa_g.las -city
lasheight -i fusa_g.las -o fusa_h.las
lasclassify -i fusa_h.las -o fusa_c.las
lasview -i fusa_c.las
http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_fusa1.png
http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_fusa2.png
http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_fusa3.png
http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_fusa4.png

lasground -i merrick_vertical_1.2.las -o merrick_vertical_1.2_g.las -
city
lasheight -i merrick_vertical_1.2_g.las -o merrick_vertical_1.2_h.las
lasclassify -i merrick_vertical_1.2_h.las -o
merrick_vertical_1.2_c.las
lasview -i merrick_vertical_1.2_c.las
http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_merrick1.png
http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_merrick2.png
http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_merrick3.png
http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_merrick4.png

Rick Faber

unread,
Sep 15, 2011, 11:56:24 PM9/15/11
to last...@googlegroups.com
sounds very nice,  I don't have my lidar data handy,  how do the power lines/poles/street lamps tend to get treated? - seems like those caused me the most grief on my last project...
 
Thanks, Rick
 
 
--
You can download LAStools at
http://www.cs.unc.edu/~isenburg/lastools/
You can visit the LAStools group at
http://groups.google.com/group/lastools/
You can be social with LAStools at
http://www.facebook.com/LAStools
http://www.twitter.com/LAStools

Martin Isenburg

unread,
Sep 16, 2011, 5:49:04 AM9/16/11
to LAStools - efficient tools for LIDAR processing
Hi,

power lines are usually lleft unclassified (unless they are too near
to a tree). Wide power poles that are hit by many LIDAR points
sometimes show up as vegetation. When I extend lasclassify to do
powerline detection I will have a look into this. I am hoping that
people who try out lasclassify on their data will report back to me
with images / data of issues like that are trouble spots.

Which other software is used to do this kind of classification?
Merrick and Terrasolid have this functionality. Any other players I am
not aware of?

Cheers,

Martin
Message has been deleted

Ravi Peters

unread,
Oct 18, 2011, 3:38:15 PM10/18/11
to LAStools - efficient tools for LIDAR processing
Hi Martin,

Currently I am working on a student project for the Geomatics master
at the (Dutch) Delft University of Technology. For this project we are
creating a 3D surface model of a part of our Campus. Our main data
source is the national LiDAR dataset (AHN-2). Of course we have
already made extensive use of your LAStools. Especially the
lasclassify utility was of great help, despite indeed some
misclassifications for complex rooftops. See
http://geomagics.nl/sites/default/files/LASclassified.png for a
screenshot of the resulting classification.

I am curious what methods you use to perform this automatic
classification. If you have any details on this, it would be greatly
appreciated.

Kind regards,
Ravi Peters

On Sep 15, 9:30 pm, Martin Isenburg <martin.isenb...@gmail.com> wrote:
> Hello,
>
> with lasclassify.exe you can classify LIDAR points into buildings and
> vegetation. The tool requires LAS/LAZ files with identified ground
> points (class = 2) as input. If your LAS/LAZ files do not have ground
> points you can compute them with lasground.exe. The tool also requires
> each point to store it's height above ground in the "user_data" field.
> You need to (!) compute this with a run of lasheight.exe.
>
> The tools has only been tested for smaller, suburban areas and may
> have issues with large buildings, complex roof structures, bridges,
> and dams. Noisy point clouds or mis-aligned flight lines may cause
> troubles as well. But it produces very nice results for the small town
> and suburban LIDAR data sets that I have tested on so far (see below).
> You can find lasclassify.exe in the latest LAStools suite.
>
> Regards,
>
> Martin @lastools
>
> lasground -i fusa.las -o fusa_g.las -city
> lasheight -i fusa_g.las -o fusa_h.las
> lasclassify -i fusa_h.las -o fusa_c.las
> lasview -i fusa_c.lashttp://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_fu...http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_fu...http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_fu...http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_fu...
>
> lasground -i merrick_vertical_1.2.las -o merrick_vertical_1.2_g.las -
> city
> lasheight -i merrick_vertical_1.2_g.las -o merrick_vertical_1.2_h.las
> lasclassify -i merrick_vertical_1.2_h.las -o
> merrick_vertical_1.2_c.las
> lasview -i merrick_vertical_1.2_c.lashttp://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_me...http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_me...http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_me...http://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_me...

Jonas Lassen Jensen

unread,
Oct 24, 2011, 3:07:27 AM10/24/11
to LAStools - efficient tools for LIDAR processing
Hi Ravi,
I am to working on a project for the Measurement Science master at
Aalborg University (Denmark) and have recently asked the same
question. The method used is based on the principles of TIN
densification, which is also the method that is used in the commercial
software package from Terra Solid. I found an article written by Peter
Axelsson about the method, that you can find here:
http://www.isprs.org/proceedings/XXXIII/congress/part4/111_XXXIII-part4.pdf

Good luck with your work!

Kind regards
Jonas Lassen Jensen

On 18 Okt., 21:38, Ravi Peters <ravic...@gmail.com> wrote:
> Hi Martin,
>
> Currently I am working on a student project for the Geomatics master
> at the (Dutch) Delft University of Technology. For this project we are
> creating a 3D surface model of a part of our Campus. Our main data
> source is the national LiDAR dataset (AHN-2). Of course we have
> already made extensive use of your LAStools. Especially the
> lasclassify utility was of great help, despite indeed some
> misclassifications for complex rooftops. Seehttp://geomagics.nl/sites/default/files/LASclassified.pngfor a
> > lasview -i fusa_c.lashttp://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_fu......
>
> > lasground -i merrick_vertical_1.2.las -o merrick_vertical_1.2_g.las -
> > city
> > lasheight -i merrick_vertical_1.2_g.las -o merrick_vertical_1.2_h.las
> > lasclassify -i merrick_vertical_1.2_h.las -o
> > merrick_vertical_1.2_c.las
> > lasview -i merrick_vertical_1.2_c.lashttp://www.cs.unc.edu/~isenburg/lastools/download/pics/lasclassify_me......

Reginald Argamosa

unread,
Jun 29, 2015, 3:16:20 AM6/29/15
to last...@googlegroups.com

Hi Martin,

I am trying to reclassify points clouds in a heavily vegetated forest area. This is also considered as a natural growth forest meaning there are tree heights with a minimum of 10 cm up to 30 meter plus. 
I get an error in lasclassify using version 150605 but lasclassify in 150330 works just fine. Below shows the algorithm:

lasground -wilderness -extra_pass
lasheight 
lasclassify -keep_overlap -step 4   

I removed the keep-overlap but i noticed that vegetation points decreased. What are the changes in the new version?

Thankyou. 

Regards,
Regi  

Martin Isenburg

unread,
Jun 29, 2015, 3:28:14 AM6/29/15
to LAStools - efficient command line tools for LIDAR processing
Hello Regi,

the '-keep_overlap' option is only meaningful for the new LAS 1.4 point types 6 to 10. It is meant for marking a set of points that are in areas of flightline overlap so that omitting them with '-drop_overlap' will result in a more uniform point density (i.e. a single layer of scanned points everywhere). The use of the '-keep_overlap' option will - in most workflows - be confined to calculating the amount of overlap points / area and debugging.

The sample file you send me is LAS 1.2 (see lasinfo below) and therefore does not make use of the overlap flag. Hence the overlap flag will always be zero and the  '-keep_overlap' option will drop all points. I can think of no situation where the '-keep_overlap' option would make sense to be used for lasclassify. The flag will mainly be used by lasoverage in conjuction with '-drop_overlap' and las2dem / lasgrid / lascanopy. The reason you see a different behavious is that  '-keep_overlap' was probably not functional in the older version but has been rewritten as the USGS now is moving to LAS 1.4 workflows as desribed here:


Regards,

Martin

D:\LAStools\bin>lasinfo clip.laz
lasinfo for clip.laz
reporting all LAS header entries:
  file signature:             'LASF'
  file source ID:             0
  global_encoding:            0
  project ID GUID data 1-4:   00000000-0000-0000-0000-000000000000
  version major.minor:        1.2
  system identifier:          'LAStools (c) by rapidlasso GmbH'
  generating software:        'lasclip (150330) commercial'
  file creation day/year:     171/2014
  header size:                227
  offset to point data:       229
  number var. length records: 0
  point data format:          1
  point data record length:   28
  number of point records:    23986
  number of points by return: 23868 118 0 0 0
  scale factor x y z:         0.01 0.01 0.01
  offset x y z:               0 0 0
  min x y z:                  308222.28 1563755.93 411.18
  max x y z:                  308422.25 1563855.92 481.27
the header is followed by 2 user-defined bytes
LASzip compression (version 2.3r0 c2 50000): POINT10 2 GPSTIME11 2
reporting minimum and maximum for all LAS point record entries ...
  X            30822228   30842225
  Y           156375593  156385592
  Z               41118      48127
  intensity           2         15
  return_number       1          2
  number_of_returns   1          2
  edge_of_flight_line 0          1
  scan_direction_flag 0          1
  classification      1         17
  scan_angle_rank   -23         19
  user_data          15         27
  point_source_ID     1          2
  gps_time 170916.838927 349191.944651
overview over number of returns of given pulse: 23722 264 0 0 0 0 0
histogram of classification of points:
              13  unclassified (1)
              15  ground (2)
              19  low vegetation (3)
             550  medium vegetation (4)
           23141  high vegetation (5)
             102  keypoint (8)
             146  bridge deck (17)

Martin Isenburg

unread,
Jul 5, 2015, 3:11:15 PM7/5/15
to last...@googlegroups.com, martin....@gmail.com
Hello,

oh ... sorry Regi. Now I see what the issue is. Between version 150330 to version 150605 I had added the option '-keep_overlap' to the core library not remembering that I had also used it in lasclassify. This option from lasclassify was now renamed '-keep_overhang' so that with version 150701 everything should be back to normal. My bad ... sorry. I realized that once I received the second similar complaint about '-keep_overlap' no longer working right as you see in this thread:


Martin @rapidlasso
Reply all
Reply to author
Forward
0 new messages