Hello,<br><br>People sometimes ask me how LASzip compares to the LIDAR compressor from Lizard Tech and I usually refer them to Michael&#39;s email (see below). Because his benchmarking was wrong on one model, namely MG4 does not outperform LASzip on 2398_400.las, i did my own experiments that suggest that LASzip compresses about 35% better and is faster.<br>
<br>A set of 27 LAS files (see below for a listing) compresses to 403 MB with LASzip and to 610 MB with the LIDAR compressor from Lizard Tech.<br><br>A 1.7GB LAS file of a flight swath (see below for the details) compresses to 352 MB with LASzip and to 648 MB with the LIDAR compressor from Lizard Tech. LASzip encoding is about 10 times faster. LASzip decoding is about 3 times faster. timings measurements included all disk I/O from compressed file to uncompressed file (and vice-versa) using two separate drives. disclaimer: the LASzip compressor is tuned for LAS files that contain LIDAR in acquisition order.<br>
<br>Cheers,<br><br>martin @lastools<br><br>the list of 27 LAS files. the first number is the compressed file size in bytes for the LIDAR Compressor of Lizardtech. the second number is the compressed file size in bytes for LASzip. all files can be found here <a href="http://liblas.org/samples">http://liblas.org/samples</a> except &quot;Dallas.las&quot; and &quot;Tetons.las&quot; which are here: <a href="http://bin.us.lizardtech.com/lidar/LT_LiDAR_Sample_Data.zip">http://bin.us.lizardtech.com/lidar/LT_LiDAR_Sample_Data.zip</a><br>
<br>115,857,121    61,809,700     autzen-colorized-1.2-3.las<br>37,462,947    14,881,473     Dallas.las<br>18,035,893    17,128,065     GrassLakeSmall.las<br>48,947,417    19,621,507     IowaDNR-CloudPeakSoft-1.0-UTM15N.las<br>
15,248,628    13,382,538     LAS12_Sample_withRGB_QT_Modeler.las<br>11,222,840    10,444,300     LASFile_1.las<br>9,805,767    9,154,780     LASFile_2.las<br>3,966,869    3,665,433     LASFile_3.las<br>10,691,410    9,940,731     LASFile_4.las<br>
13,522,405    12,672,774     LDR030828_212242_0.las<br>13,058,811    12,157,072     LDR030828_213023_0.las<br>12,244,190    11,502,895     LDR030828_213450_0.las<br>19,820,246    10,414,626     LDR091111_181233_1.las<br>19,424,894    10,193,907     LDR091111_182803_1.las<br>
30,451,604    28,680,682     Lincoln.las<br>27,076,520    28,593,056     line_27007_dd.las<br>25,753,118    19,594,207     MARS_Sample_Filtered_LiDAR.las<br>19,820,246    10,414,626     merrick_vertical_1.2.las<br>8,943,713    9,493,209     MountStHelensNov202004.las<br>
20,937,807    20,337,536     MountStHelensOct42004.las<br>20,386,038    19,036,134     ncwc000008.las<br>7,900,248    7,539,341     PalmBeachPreHurricane.las<br>22,831,603    9,920,385     S1C1_strip021.las<br>28,006,302    10,036,738     SerpentMoundModelLASData.las<br>
37,216,167    18,169,153     Tetons.las<br>34,980,891    18,961,597     USACE_Merrick_lots_of_VLRs.las<br>5,756,508    5,351,794     xyzrgb_manuscript.las<br><br>the lasinfo details of the 1.7GB LAS file containing one swath<br>
<br>lasinfo Ldr100402_220229_1.laz<br>reporting all LAS header entries:<br>  file signature:            &#39;LASF&#39;<br>  file source ID:            0<br>  reserved (global_encoding):0<br>  project ID GUID data 1-4:  0 0 0 &#39;&#39;<br>
  version major.minor:       1.0<br>  system identifier:         &#39;ALSXX&#39;<br>  generating software:       &#39;ALSXX_PP V2.69 BUILD#7 BETA&#39;<br>  file creation day/year:    92/2010<br>  header size                227<br>
  offset to point data       5697<br>  number var. length records 4<br>  point data format          1<br>  point data record length   28<br>  number of point records    66705904<br>  number of points by return 58445315 6743224 1404140 113225 0<br>
  scale factor x y z         0.001 0.001 0.001<br>  offset x y z               13000000 0 0<br>  min x y z                  12991192.425 588397.501 611.122<br>  max x y z                  13142242.349 594146.283 3032.417<br>
variable length header record 1 of 4:<br>  reserved             43707<br>  user ID              &#39;LeicaGeo&#39;<br>  record ID            1001<br>  length after header  5120<br>  description          &#39;&#39;<br>variable length header record 2 of 4:<br>
  reserved             43707<br>  user ID              &#39;LeicaGeo&#39;<br>  record ID            1002<br>  length after header  22<br>  description          &#39;MissionInfo&#39;<br>variable length header record 3 of 4:<br>
  reserved             43707<br>  user ID              &#39;LeicaGeo&#39;<br>  record ID            1003<br>  length after header  54<br>  description          &#39;UserInputs&#39;<br>variable length header record 4 of 4:<br>
  reserved             43707<br>  user ID              &#39;LASF_Projection&#39;<br>  record ID            34735<br>  length after header  56<br>  description          &#39;Projection Info&#39;<br>    GeoKeyDirectoryTag version 1.1.0 number of keys 6<br>
      key 1024 tiff_tag_location 0 count 1 value_offset 1 - GTModelTypeGeoKey: ModelTypeProjected<br>      key 1025 tiff_tag_location 0 count 1 value_offset 2 - GTRasterTypeGeoKey: RasterPixelIsPoint<br>      key 3076 tiff_tag_location 0 count 1 value_offset 26990 - ProjLinearUnitsGeoKey: look-up for 26990 not implemented<br>
      key 2052 tiff_tag_location 0 count 1 value_offset 9002 - GeogLinearUnitsGeoKey: Linear_Foot<br>      key 4096 tiff_tag_location 0 count 1 value_offset 5103 - VerticalCSTypeGeoKey: VertCS_North_American_Vertical_Datum_1988<br>
      key 4099 tiff_tag_location 0 count 1 value_offset 9002 - VerticalUnitsGeoKey: Linear_Foot<br>the header is followed by 2 user-defined bytes<br>LASzip compression (version 1.0r0 c1): POINT10 1 GPSTIME11 1<br>reporting minimum and maximum for all LAS point record entries ...<br>
  x -8807574 142242349<br>  y 588397501 594146283<br>  z 611122 3032417<br>  intensity 0 255<br>  edge_of_flight_line 0 0<br>  scan_direction_flag 0 1<br>  number_of_returns_of_given_pulse 1 4<br>  return_number 1 4<br>  classification 1 1<br>
  scan_angle_rank -26 31<br>  user_data 161 255<br>  point_source_ID 161 511<br>  gps_time 511349.016753 512063.402540<br>overview over number of returns of given pulse: 51686151 10678566 3886669 454518 0 0 0<br>histogram of classification of points:<br>
 66705904 Unclassified (1)<br><br>--------------------------------------------------------------------------------------<br><br>michael&#39;s email (the graphs he mentions can be found in the archive) <br><br><a href="http://lists.osgeo.org/pipermail/liblas-devel/2011-February/001199.html">http://lists.osgeo.org/pipermail/liblas-devel/2011-February/001199.html</a><br>
<br><div class="gmail_quote">On Fri, Feb 4, 2011 at 3:21 PM, Michael Rosen <span dir="ltr">&lt;<a href="mailto:mrosen@lizardtech.com">mrosen@lizardtech.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div link="blue" vlink="purple" lang="EN-US"><div><p class="MsoNormal">Here’s the summary of some LT-internal (I guess not so internal now…) benchmarking.  Highlights:</p><p><span>-<span style="font: 7pt &quot;Times New Roman&quot;;">          </span></span>I can’t really draw any conclusions about relative compression sizes:  2398_400 favors MG4 2:1, HGAC_Extract and AutZen favor LAZ 2:1, MtStHelens is a wash, </p>
<p><span>-<span style="font: 7pt &quot;Times New Roman&quot;;">          </span></span>WRT extraction time, for smaller files, the MG4’s computational overhead (*) favors LAZ for all but the smallest extractions</p><p><span>-<span style="font: 7pt &quot;Times New Roman&quot;;">          </span></span>For larger files, the “break even” point is much further to the right.</p>
<p><span>-<span style="font: 7pt &quot;Times New Roman&quot;;">          </span></span>For larger files, with very small extractions, the built-in index of MG4 allows faster extractions than raw (unindexed) LAS.</p><p class="MsoNormal" style="margin-left: 0.25in;">
 </p><p class="MsoNormal">The methodology here was to run “las2las” as shown before cropping out increasingly large rectangles (at full resolution)</p><p class="MsoNormal">I compared this with the same extraction from MG4 using a command line tool (internal) but this time, writing the output to a las file.</p>
<p class="MsoNormal"> </p><p class="MsoNormal">I spot checked that the number of points written in all three cases was the same.</p><p class="MsoNormal"> </p><p class="MsoNormal">(*) Note that the title on the graphs is not quite right.  It’s not “Decode Time” but “Decode Time plus LAS Write Time” vs Scene Size.  There is some speculation (based on what we were observing when omitting the output) that LT’s LAS Writer is unusually slow.  It’s using the liblas v1.2 writer … so some here may have well-informed opinions on this.</p>
<p class="MsoNormal"> </p><p class="MsoNormal">Here is some raw data and some graphs:</p><p class="MsoNormal"> </p><p class="MsoNormal">01/28/2011  03:50 PM        61,301,311 2398_400.las</p><p class="MsoNormal">01/28/2011  04:28 PM         8,906,275 2398_400.laz</p>
<p class="MsoNormal">01/28/2011  04:25 PM         4,650,992 2398_400.sid</p><p class="MsoNormal"> </p><p class="MsoNormal">01/28/2011  04:03 PM       362,213,959 autzen-colorized-1.2-3.las</p><p class="MsoNormal">01/28/2011  04:28 PM        61,809,700 autzen-colorized-1.2-3.laz</p>
<p class="MsoNormal">01/28/2011  04:27 PM       115,857,121 autzen-colorized-1.2-3.sid</p><p class="MsoNormal"> </p><p class="MsoNormal">01/28/2011  03:59 PM       123,876,781 Grass Lake Small.las</p><p class="MsoNormal">
01/28/2011  04:29 PM        17,128,065 Grass Lake Small.laz</p><p class="MsoNormal">01/28/2011  04:25 PM        18,035,893 Grass Lake Small.sid</p><p class="MsoNormal"> </p><p class="MsoNormal">02/02/2011  08:18 AM       711,065,603 HGAC_Extract.las</p>
<p class="MsoNormal">02/02/2011  08:23 AM       151,159,393 HGAC_Extract.laz</p><p class="MsoNormal">02/02/2011  08:29 AM       269,491,108 HGAC_Extract.sid</p><p class="MsoNormal"> </p><p class="MsoNormal">01/28/2011  03:50 PM        34,065,751 hobu.las</p>
<p class="MsoNormal">01/28/2011  04:29 PM         7,732,878 hobu.laz</p><p class="MsoNormal">01/28/2011  04:24 PM         9,301,431 hobu.sid</p><p class="MsoNormal"> </p><p class="MsoNormal">01/28/2011  04:00 PM       185,565,975 Lincoln.las</p>
<p class="MsoNormal">01/28/2011  04:29 PM        28,680,682 Lincoln.laz</p><p class="MsoNormal">01/28/2011  04:25 PM        30,451,604 Lincoln.sid</p><p class="MsoNormal"> </p><p class="MsoNormal">01/28/2011  03:58 PM       107,603,879 line_27007.las</p>
<p class="MsoNormal">01/28/2011  04:30 PM        22,269,252 line_27007.laz</p><p class="MsoNormal">01/28/2011  04:25 PM        24,588,596 line_27007.sid</p><p class="MsoNormal"> </p><p class="MsoNormal">01/28/2011  03:58 PM       115,737,877 MtStHelens.las</p>
<p class="MsoNormal">01/28/2011  04:30 PM         9,493,209 MtStHelens.laz</p><p class="MsoNormal">01/28/2011  04:24 PM         8,943,713 MtStHelens.sid</p></div></div></blockquote></div>