Hello,
thank you for sharing. This is really awesome. That's the first open data release of SPL LiDAR that comes to my mind right now. And when they say that SPL is noisy, they are really not kidding. Have a look at the attached screenshot of the one tile that I have downloaded.
You can improve your data with the following command:
las2las -i original/*.laz ^
-rescale 0.01 0.01 0.01 ^
-auto_reoffset ^
-set_global_encoding_gps_bit 1 ^
-remove_vlr 1 ^
-odir fixed -olaz ^
-cores 4
What will those options do?
-rescale 0.01 0.01 0.01
There is "resolution fluff" because the points are given mm (millimeter) resolution for storage but they actually only have cm (centimeter) accuracy. I can tell from the lasinfo report. How? Well, all coordinates have the exact same digits in their millimeter. All x coordinates have a digit of 9, all y coordinates have a 0, and all z coordinates have a 4. This essentially translates all coordinates by a (0.009, 0.000, 0.004) vector but this is not actually measured information but an artifact of how the centimeter quantized points were written to millimeters somewhere during processing.
-auto_reoffset
Fixes the rather odd offset of 0 4716500 0 in the header to something more suitable such as 500000 4700000 0. Because the offset of x is zero you find very large X coordinates stored in the point records that are ranging from 536000009 to 536999999 compare to the Y coordinates that are ranging from -499990 to 499990.
-set_global_encoding_gps_bit 1
As the time stamp are obviously in Adjusted Standard GPS time and not in GPS week time this bit needs to be set.
-remove_vlr 1
There is a redundant copy of the OGC WKT CRS that is from the days before this was standardized. Now there are two copies of the OGC WKT CRS and the second one (whose *index* is 1) is only meaningful to the old libLAS library and can safely be removed.
A few other things - namely the legacy counters that should be zero - will automatically get fixed. You see the resulting lasinfo report after running this command on that one file below and you will notice that all of the WARNINGS have disappeared.
===============================================================================
C:\LAStools\bin>las2las -i las_ca_536_4717_2017_NAV_EPSG25830.laz ^
-rescale 0.01 0.01 0.01 ^
-auto_reoffset ^
-set_global_encoding_gps_bit 1 ^
-remove_vlr 1 ^
-o las_ca_536_4717_2017_NAV_EPSG25830_fixed.laz
If in addition you run lasoptimize which mainly *reorders* the points for better compression and better spatial indexing you can reduce the file size by another 21 percent as you can see below. Given the amount of data you are hosting that may well be worthwhile. It also means that all future downloads are completed in 20% faster time.
C:\LAStools\bin>lasoptimize.exe -i las_ca_536_4717_2017_NAV_EPSG25830_fixed.laz ^
-o las_ca_536_4717_2017_NAV_EPSG25830_optimized.laz
46.763 secs to write 178360342 bytes for 'las_ca_536_4717_2017_NAV_EPSG25830_optimized.laz' with 20723793 points of type 8
225,347,643 las_ca_536_4717_2017_NAV_EPSG25830.laz
216,991,939 las_ca_536_4717_2017_NAV_EPSG25830_fixed.laz
178,360,342 las_ca_536_4717_2017_NAV_EPSG25830_optimized.laz
===============================================================================
C:\LAStools\bin>lasinfo -i las_ca_536_4717_2017_NAV_EPSG25830.laz
lasinfo (180911) report for 'las_ca_536_4717_2017_NAV_EPSG25830.laz'
reporting all LAS header entries:
file signature: 'LASF'
file source ID: 0
global_encoding: 16
project ID GUID data 1-4: 00000000-0000-0000-0000-000000000000
version major.minor: 1.4
system identifier: 'PDAL'
generating software: 'PDAL 1.7.1 (bbc047)'
file creation day/year: 147/2018
header size: 375
offset to point data: 1797
number var. length records: 2
point data format: 8
point data record length: 38
number of point records: 20723793
number of points by return: 19154236 1491841 74946 2716 54
scale factor x y z: 0.001 0.001 0.001
offset x y z: 0 4716500 0
min x y z: 536000.009 4716000.010 396.794
max x y z: 536999.999 4716999.990 1210.004
start of waveform data packet record: 0
start of first extended variable length record: 0
number of extended_variable length records: 0
extended number of point records: 20723793
extended number of points by return: 19154236 1491841 74946 2716 54 0 0 0 0 0 0 0 0 0 0
variable length header record 1 of 2:
reserved 0
user ID 'LASF_Projection'
record ID 2112
length after header 657
description 'OGC Transformation Record'
WKT OGC COORDINATE SYSTEM:
PROJCS["ETRS89 / UTM zone 30N",GEOGCS["ETRS89",DATUM["European_Terrestrial_Reference_System_1989",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG"
,"7019"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6258"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","912
2"]],AUTHORITY["EPSG","4258"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-3],PARAMETER["scale_factor",0.9
996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHOR
ITY["EPSG","25830"]]
variable length header record 2 of 2:
reserved 0
user ID 'liblas'
record ID 2112
length after header 657
description 'OGR variant of OpenGIS WKT SRS'
LASzip compression (version 3.2r2 c3 50000): POINT14 3 RGBNIR14 3
reporting minimum and maximum for all LAS point record entries ...
X 536000009 536999999
Y -499990 499990
Z 396794 1210004
intensity 0 65535
return_number 1 5
number_of_returns 1 5
edge_of_flight_line 0 0
scan_direction_flag 0 1
classification 1 28
scan_angle_rank -127 127
user_data 1 100
point_source_ID 2265 2266
gps_time 189322439.910865 189322898.589792
WARNING: range violates GPS week time specified by global encoding bit 0
Color R 1792 60672
G 4096 61696
B 1792 61952
NIR 0 55040
extended_return_number 1 5
extended_number_of_returns 1 5
extended_classification 1 28
extended_scan_angle -21167 21167
extended_scanner_channel 0 0
WARNING: there is coordinate resolution fluff (x10) in XYZ
number of first returns: 19154236
number of intermediate returns: 78336
number of last returns: 19136717
number of single returns: 17645496
WARNING: point type is 8 but (legacy) number of point records in header is 20723793 instead zero.
WARNING: point type is 8 but (legacy) number of points by return [1] in header is 19154236 instead zero.
WARNING: point type is 8 but (legacy) number of points by return [2] in header is 1491841 instead zero.
WARNING: point type is 8 but (legacy) number of points by return [3] in header is 74946 instead zero.
WARNING: point type is 8 but (legacy) number of points by return [4] in header is 2716 instead zero.
WARNING: point type is 8 but (legacy) number of points by return [5] in header is 54 instead zero.
overview over extended number of returns of given pulse: 17645496 2848776 218492 10759 270 0 0 0 0 0 0 0 0 0 0
histogram of classification of points:
2160704 unclassified (1)
1937735 ground (2)
2920190 low vegetation (3)
2904555 medium vegetation (4)
4231324 high vegetation (5)
13106 building (6)
169660 noise (7)
1775360 Reserved for ASPRS Definition (18)
383874 Reserved for ASPRS Definition (21)
124011 Reserved for ASPRS Definition (22)
634555 Reserved for ASPRS Definition (23)
707615 Reserved for ASPRS Definition (24)
2222590 Reserved for ASPRS Definition (25)
6524 Reserved for ASPRS Definition (26)
38294 Reserved for ASPRS Definition (27)
493696 Reserved for ASPRS Definition (28)
===============================================================================
C:\LAStools\bin>lasinfo -i las_ca_536_4717_2017_NAV_EPSG25830_fixed.laz
lasinfo (180911) report for 'las_ca_536_4717_2017_NAV_EPSG25830_fixed.laz'
reporting all LAS header entries:
file signature: 'LASF'
file source ID: 0
global_encoding: 17
project ID GUID data 1-4: 00000000-0000-0000-0000-000000000000
version major.minor: 1.4
system identifier: 'LAStools (c) by rapidlasso GmbH'
generating software: 'las2las (version 180911)'
file creation day/year: 147/2018
header size: 375
offset to point data: 1086
number var. length records: 1
point data format: 8
point data record length: 38
number of point records: 0
number of points by return: 0 0 0 0 0
scale factor x y z: 0.01 0.01 0.01
offset x y z: 500000 4700000 0
min x y z: 536000.01 4716000.01 396.79
max x y z: 537000.00 4716999.99 1210.00
start of waveform data packet record: 0
start of first extended variable length record: 0
number of extended_variable length records: 0
extended number of point records: 20723793
extended number of points by return: 19154236 1491841 74946 2716 54 0 0 0 0 0 0 0 0 0 0
variable length header record 1 of 1:
reserved 0
user ID 'LASF_Projection'
record ID 2112
length after header 657
description 'OGC Transformation Record'
WKT OGC COORDINATE SYSTEM:
PROJCS["ETRS89 / UTM zone 30N",GEOGCS["ETRS89",DATUM["European_Terrestrial_Reference_System_1989",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG"
,"7019"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6258"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","912
2"]],AUTHORITY["EPSG","4258"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-3],PARAMETER["scale_factor",0.9
996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHOR
ITY["EPSG","25830"]]
LASzip compression (version 3.2r4 c3 50000): POINT14 3 RGBNIR14 3
reporting minimum and maximum for all LAS point record entries ...
X 3600001 3700000
Y 1600001 1699999
Z 39679 121000
intensity 0 65535
return_number 1 5
number_of_returns 1 5
edge_of_flight_line 0 0
scan_direction_flag 0 1
classification 1 28
scan_angle_rank -127 127
user_data 1 100
point_source_ID 2265 2266
gps_time 189322439.910865 189322898.589792
Color R 1792 60672
G 4096 61696
B 1792 61952
NIR 0 55040
extended_return_number 1 5
extended_number_of_returns 1 5
extended_classification 1 28
extended_scan_angle -21167 21167
extended_scanner_channel 0 0
number of first returns: 19154236
number of intermediate returns: 78336
number of last returns: 19136717
number of single returns: 17645496
overview over extended number of returns of given pulse: 17645496 2848776 218492 10759 270 0 0 0 0 0 0 0 0 0 0
histogram of classification of points:
2160704 unclassified (1)
1937735 ground (2)
2920190 low vegetation (3)
2904555 medium vegetation (4)
4231324 high vegetation (5)
13106 building (6)
169660 noise (7)
1775360 Reserved for ASPRS Definition (18)
383874 Reserved for ASPRS Definition (21)
124011 Reserved for ASPRS Definition (22)
634555 Reserved for ASPRS Definition (23)
707615 Reserved for ASPRS Definition (24)
2222590 Reserved for ASPRS Definition (25)
6524 Reserved for ASPRS Definition (26)
38294 Reserved for ASPRS Definition (27)
493696 Reserved for ASPRS Definition (28)