Hi Dave,
thanks for the detailed description of the problem and the test data.
First we have a look at your input file:
lasinfo64 -i "24_3125653f06_dc.laz"
LAStools lasinfo ...
...
version major.minor: 1.4
...
number of extended_variable length records: 1
...
variable length header record 1 of 4:
reserved 0
user ID 'LASF_Spec'
record ID 4
length after header 192
description 'Extra Bytes Record'
Extra Byte Descriptions
data type: 0 (untyped bytes), size: 6
variable length header record 2 of 4: ...
variable length header record 3 of 4: ...
variable length header record 4 of 4: ...
extended variable length header record 1 of 1:
reserved 0
user ID 'LASF_Spec'
record ID 4
length after header 576
description 'Extra Bytes Record'
LASzip compression (version 3.4r3 c3 50000): POINT14 3 BYTE14 3
reporting minimum and maximum for all LAS point record entries ...
...
attribute0 11.62 11.62 ('Amplitude')
attribute1 -2.97 -2.97 ('Reflectance')
attribute2 24 24 ('Deviation')
...
It seems your data contains VLRs a EVLR and already some attributes 0..2.
It also seems, that this EVLR blocks the creation of attributes.
Simple solution is to avoid thie EVLR. We move this EVLR to a regular VLR:
las2las64 -i 24_3125653f06_dc.laz -o tmp1.laz -move_evlrs_to_vlrs
lasinfo64 -i tmp1.laz
This succeed, but for some reason, the number of VLRs remains 4 - so it seems, this EVLR is invalid.
Anyway, the move cleans up the file and removes the EVLR. Another option would be "-remove_all_evlrs".
Another issue is within your argument "-attribute 0". Because you do already have attributes set, you will get the wrong values using "-attribute 0".
Its better to use "-z_from_attribute" which will look for the suitable attribute:
las2dem64.exe -i tmp1.laz -kill 10 -otif -drop_class 7 18 -step 1 -no_kml -z_from_attribute -v
<<
autodetect extra_byte[3] as z
>>
This will autodetect the correct attribute/extra_byte and use this as height value.
Hope this helps,
Cheers,
Jochen @rapidlasso