Hello,
I noticed that the AHN3 LiDAR is stored with millimeter resolution (meaning that the scale factors in the LAS header are set to 0.001). You can save *a lot* of storage space and transmission bandwidth by re-compressing the data from millimeter to a - more appropriate - centimeter resolution as shown below:
laszip -i C_04FZ2.LAZ -rescale 0.01 0.01 0.01 -o C_04FZ2_CM.LAZ
dir C_04FZ2*
53,672,001 C_04FZ2.LAZ
38,993,084 C_04FZ2_CM.LAZ
laszip -i C_30EZ1.LAZ -rescale 0.01 0.01 0.01 -o C_30EZ1_CM.LAZ
dir C_30EZ1*
679,888,113 C_30EZ1.LAZ
522,164,184 C_30EZ1_CM.LAZ
This would saves 14,678,917 (157,723,929) bytes in this example tile. This equals 1.2495 (1.19179) bytes or 9.9961 (9.53436) bits per point. This makes sense as each coordinate has one less digit to compress. And we can expect this digit not to contain measured information but random sensor and computation noise. Compressing a random digit between 0 and 9 requires at least log2(10) bits or 3.32192 bits if optimal entropy coding is used. Multiply this by three as it happens for each of the three coordinates x, y, and z of a point and you get 9.9658 bits per point. Wow ... the theoretic estimate matches the observed numbers fairly closely.
Assuming AHN 3 will have around a one trillion points (because AHN had over 600 billion) then using scale factors of 0.01 instead of 0.001 will require 9,965,784,284,662 bits or 1.13 Terabytes (!!!!!!) less data for the entire national height model after compressing it with LASzip. Save the Dutch taxpayers a lot of money that would otherwise be wasted on storing and transmitting the random and meaningless millimeter digit of a National LiDAR point cloud obtained with airborne laser scanning ... (-:
Regards,
Martin @rapidlasso
===============================================
E:\LAStools\bin>lasinfo C_04FZ2.LAZ
lasinfo (160804) report for C_04FZ2.LAZ
reporting all LAS header entries:
file signature: 'LASF'
file source ID: 0
global_encoding: 1
project ID GUID data 1-4: 000007DE-0002-0000-4841-004E00000000
version major.minor: 1.2
system identifier: 'Riegl LMS-Q'
generating software: 'Fugro LAS Processor'
file creation day/year: 258/2014
header size: 227
offset to point data: 227
number var. length records: 0
point data format: 1
point data record length: 28
number of point records: 11747626
number of points by return: 10435974 888167 284040 102789 36656
scale factor x y z: 0.001 0.001 0.001
offset x y z: 135000 589990 -10
min x y z: 135000.000 589818.166 -1.349
max x y z: 135949.398 591322.976 21.233
LASzip compression (version 2.2r0 c2 50000): POINT10 2 GPSTIME11 2
reporting minimum and maximum for all LAS point record entries ...
X 0 949398
Y -171834 1332976
Z 8651 31233
intensity 1 65534
return_number 1 5
number_of_returns 1 5
edge_of_flight_line 0 1
scan_direction_flag 0 0
classification 1 26
scan_angle_rank -32 32
user_data 0 190
point_source_ID 244 252
gps_time 78656384.865628 78660987.282402
number of first returns: 10435974
number of intermediate returns: 432638
number of last returns: 10410596
number of single returns: 9531582
overview over number of returns of given pulse: 9531582 1209656 552507 268503 185378 0 0
histogram of classification of points:
2845572 unclassified (1)
8158453 ground (2)
250095 building (6)
458791 water (9)
34715 Reserved for ASPRS Definition (26)
E:\LAStools\bin>lasinfo C_04FZ2_CM.LAZ
lasinfo (160804) report for C_04FZ2_CM.LAZ
reporting all LAS header entries:
file signature: 'LASF'
file source ID: 0
global_encoding: 1
project ID GUID data 1-4: 000007DE-0002-0000-4841-004E00000000
version major.minor: 1.2
system identifier: 'Riegl LMS-Q'
generating software: 'Fugro LAS Processor'
file creation day/year: 258/2014
header size: 227
offset to point data: 227
number var. length records: 0
point data format: 1
point data record length: 28
number of point records: 11747626
number of points by return: 10435974 888167 284040 102789 36656
scale factor x y z: 0.01 0.01 0.01
offset x y z: 135000 589990 -10
min x y z: 135000.00 589818.17 -1.35
max x y z: 135949.40 591322.98 21.23
LASzip compression (version 2.4r2 c2 50000): POINT10 2 GPSTIME11 2
reporting minimum and maximum for all LAS point record entries ...
X 0 94940
Y -17183 133298
Z 865 3123
intensity 1 65534
return_number 1 5
number_of_returns 1 5
edge_of_flight_line 0 1
scan_direction_flag 0 0
classification 1 26
scan_angle_rank -32 32
user_data 0 190
point_source_ID 244 252
gps_time 78656384.865628 78660987.282402
WARNING: 1 points outside of header bounding box
number of first returns: 10435974
number of intermediate returns: 432638
number of last returns: 10410596
number of single returns: 9531582
overview over number of returns of given pulse: 9531582 1209656 552507 268503 185378 0 0
histogram of classification of points:
2845572 unclassified (1)
8158453 ground (2)
250095 building (6)
458791 water (9)
34715 Reserved for ASPRS Definition (26)
real max y larger than header max y by 0.004000