I watched this nice video on how to download LiDAR from the USGS Earth Explorer.
But then I saw the moment that the files were downloaded and I was initially shocked to see that the LAZ file was hardly smaller than the winzipped LAS file. So I decided to investigate by following the steps in the video to download the exact same tile (see attached picture series).
Turns our the points are in a horrible order for compression. They are ordered by elevation from top to bottom. Does anyone know who is behind these LiDAR deliveries? Or who is in charge for the LiDAR holdings on the USGS Earth Explorer This is from quite a while ago but it would still make sense to improve the files as the download sizes shrinks by over 60 percent. Maybe it helps to note that the files name "Aero-Metric LASLib" as their generating software.
A simple sort by GPS time and return number reduces the compressed LAZ file size from 56 MB to 22 MB. The reason for this incredible gain is that a sort in z order pretty much destroys all predictive rules used by LASzip:
E:\LAStools\bin>lasinfo CO_ArkansasValley_2010_000536.laz
lasinfo (170802) report for CO_ArkansasValley_2010_000536.laz
reporting all LAS header entries:
file signature: 'LASF'
file source ID: 0
global_encoding: 1
project ID GUID data 1-4: 00000000-0000-0000-0000-000000000000
version major.minor: 1.2
system identifier: 'MODIFICATION '
generating software: 'Aero-Metric LASLib '
file creation day/year: 41/2011
header size: 227
offset to point data: 915
number var. length records: 5
point data format: 1
point data record length: 28
number of point records: 5795422
number of points by return: 3740148 1266858 588933 199483 0
scale factor x y z: 0.01 0.01 0.01
offset x y z: 0 0 0
min x y z: 394500.00 4353000.00 3137.81
max x y z: 395999.98 4354499.98 3460.21
variable length header record 1 of 5:
reserved 43707
user ID 'LASF_Projection'
record ID 34735
length after header 200
description 'GeoTiff Projection Keys'
GeoKeyDirectoryTag version 1.1.0 number of keys 24
key 1024 tiff_tag_location 0 count 1 value_offset 1 - GTModelTypeGeoKey: ModelTypeProjected
key 2048 tiff_tag_location 0 count 1 value_offset 32767 - GeographicTypeGeoKey: user-defined
key 2049 tiff_tag_location 34737 count 46 value_offset 53 - GeogCitationGeoKey: NAD83(HARN)|datum: D_North_American_1983_HARN
key 2050 tiff_tag_location 0 count 1 value_offset 32767 - GeogGeodeticDatumGeoKey: user-defined
key 2051 tiff_tag_location 0 count 1 value_offset 8901 - GeogPrimeMeridianGeoKey: PM_Greenwich
key 2054 tiff_tag_location 0 count 1 value_offset 9102 - GeogAngularUnitsGeoKey: Angular_Degree
key 2055 tiff_tag_location 34736 count 1 value_offset 9 - GeogAngularUnitSizeGeoKey: 0.01745329252
key 2056 tiff_tag_location 0 count 1 value_offset 7019 - GeogEllipsoidGeoKey: Ellipse_GRS_1980
key 2057 tiff_tag_location 34736 count 1 value_offset 6 - GeogSemiMajorAxisGeoKey: 6378137
key 2059 tiff_tag_location 34736 count 1 value_offset 7 - GeogInvFlatteningGeoKey: 298.2572221
key 2061 tiff_tag_location 34736 count 1 value_offset 8 - GeogPrimeMeridianLongGeoKey: 0
key 3072 tiff_tag_location 0 count 1 value_offset 32767 - ProjectedCSTypeGeoKey: user-defined
key 3073 tiff_tag_location 34737 count 27 value_offset 0 - PCSCitationGeoKey: NAD83(HARN) / UTM zone 13N
key 3074 tiff_tag_location 0 count 1 value_offset 32767 - ProjectionGeoKey: user-defined
key 3075 tiff_tag_location 0 count 1 value_offset 1 - ProjCoordTransGeoKey: CT_TransverseMercator
key 3076 tiff_tag_location 0 count 1 value_offset 9001 - ProjLinearUnitsGeoKey: Linear_Meter
key 3077 tiff_tag_location 34736 count 1 value_offset 5 - ProjLinearUnitSizeGeoKey: 1
key 3081 tiff_tag_location 34736 count 1 value_offset 4 - ProjNatOriginLatGeoKey: 0
key 3082 tiff_tag_location 34736 count 1 value_offset 0 - ProjFalseEastingGeoKey: 500000
key 3083 tiff_tag_location 34736 count 1 value_offset 1 - ProjFalseNorthingGeoKey: 0
key 3088 tiff_tag_location 34736 count 1 value_offset 2 - ProjCenterLongGeoKey: -105
key 3092 tiff_tag_location 34736 count 1 value_offset 3 - ProjScaleAtNatOriginGeoKey: 0.9996
key 4097 tiff_tag_location 34737 count 26 value_offset 27 - VerticalCitationGeoKey: NAVD88 - Geoid09 (Meters)
key 4099 tiff_tag_location 0 count 1 value_offset 9001 - VerticalUnitsGeoKey: Linear_Meter
variable length header record 2 of 5:
reserved 43707
user ID 'LASF_Projection'
record ID 34736
length after header 80
description 'GeoTiff double parameters'
GeoDoubleParamsTag (number of doubles 10)
500000 0 -105 0.9996 0 1 6.37814e+006 298.257 0 0.0174533
variable length header record 3 of 5:
reserved 43707
user ID 'LASF_Projection'
record ID 34737
length after header 100
description 'GeoTiff ASCII parameters'
GeoAsciiParamsTag (number of characters 100)
NAD83(HARN) / UTM zone 13N|NAVD88 - Geoid09 (Meters)|NAD83(HARN)|datum: D_North_American_1983_HARN|
variable length header record 4 of 5:
reserved 43707
user ID 'NIIRS10'
record ID 4
length after header 10
description 'NIIRS10 Timestamp'
variable length header record 5 of 5:
reserved 43707
user ID 'NIIRS10'
record ID 1
length after header 26
description 'NIIRS10 Tile Index'
the header is followed by 2 user-defined bytes
LASzip compression (version 2.1r0 c2 50000): POINT10 2 GPSTIME11 2
reporting minimum and maximum for all LAS point record entries ...
X 39450000 39599998
Y 435300000 435449998
Z 313781 346021
intensity 1 4095
return_number 1 4
number_of_returns 1 4
edge_of_flight_line 0 1
scan_direction_flag 0 1
classification 1 7
scan_angle_rank -22 22
user_data 32 32
point_source_ID 135 139
gps_time -32257557.295246 -32255969.434287
number of first returns: 3740148
number of intermediate returns: 788412
number of last returns: 3740285
number of single returns: 2473423
overview over number of returns of given pulse: 2473423 1355713 1168420 797866 0 0 0
histogram of classification of points:
4267975 unclassified (1)
1527336 ground (2)
111 noise (7)