Upgrade of Las Version1.2 - 1.3

85 views
Skip to first unread message

sushil joshi

unread,
Feb 5, 2016, 6:24:24 AM2/5/16
to LAStools - efficient tools for LiDAR processing
Dear Martin,

Kindly help me out to run the las tools for las version upgraded from las 1.2 to 1.3. I want to know the procedure to do so.

Thanks,
Sushil

Martin Isenburg

unread,
Feb 5, 2016, 9:20:06 AM2/5/16
to LAStools - efficient command line tools for LIDAR processing
Hello,

from a practical point of view it makes little to "upgrade" from LAS 1.2 to LAS 1.3 as the only difference will be that there an additional unused eight bytes in the header (that are all zero) and that one bit is flipped (namely the lowest order bit of the "version_minor" field that turns the 2 into a three). However, I understand that sometimes a tender specifies LAS 1.3 even if the requested point type is 1 or 3 which could just as well be delivered as LAS 1.2.

Here the command line that turns "fusa.laz" from LAS 1.2 to LAS 1.3. The two corresponding lasinfo reports are attached.

D:\LAStools\bin>lasinfo -i ..\data\fusa.laz -o fusa_12_info.txt
lasinfo (160202) report for ..\data\fusa.laz

D:\LAStools\bin>las2las -i ..\data\fusa.laz -set_version 1.3 -odix _13 -olaz

D:\LAStools\bin>lasinfo -i ..\data\fusa_13.laz -o fusa_13_info.txt
lasinfo (160202) report for ..\data\fusa_13.laz

Regards,

Martin @rapidlasso

fusa_12_info.txt
fusa_13_info.txt

Tai Sakaushi

unread,
Jan 13, 2017, 2:28:55 AM1/13/17
to LAStools - efficient tools for LiDAR processing
Dear Martin,

Thank you for creating lastools and running  lastools projects. It is excellent tool to handle lidar data.

I am wondering if I could create the header information high lighted in yellow(below) into converted las1.3 header using any lastools. The below (referenced from other google group talks) shows the lasinfo of original las1.3 data with WDP info

D:\lastools\bin> lasinfo -i "4470_Klodne.las"
reporting all LAS header entries:
  file signature:             'LASF'
  file source ID:             1
  global_encoding:            5
  project ID GUID data 1-4:   00000000-0000-0000-0000-000000000000
  version major.minor:        1.3
  system identifier:          'EXTRACTION'
  generating software:        'RiPROCESS 1.5.7.2'
  file creation day/year:     164/2013
  header size:                235
  offset to point data:       1219
  number var. length records: 12
  point data format:          4
  point data record length:   57
  number of point records:    12410065
  number of points by return: 10984706 1292396 125680 7001 274
  scale factor x y z:         0.001 0.001 0.001
  offset x y z:               612156 203638 437
  min x y z:                  611934.930 203083.190 234.500
  max x y z:                  613773.090 205209.910 784.790
  start of waveform data packet record: 0
variable length header record 1 of 12:
  reserved             43707
  user ID              'LASF_Projection'
  record ID            34735
  length after header  48
  description          'GeoKeyDirectoryTag (mandatory)'
    GeoKeyDirectoryTag version 1.1.0 number of keys 5
      key 1024 tiff_tag_location 0 count 1 value_offset 1 - GTModelTypeGeoKey: ModelTypeProjected
      key 1026 tiff_tag_location 34737 count 28 value_offset 0 - GTCitationGeoKey: PUWG 1992, WGS84, PUWG 1992
      key 2052 tiff_tag_location 0 count 1 value_offset 9001 - GeogLinearUnitsGeoKey: Linear_Meter
      key 2054 tiff_tag_location 0 count 1 value_offset 9102 - GeogAngularUnitsGeoKey: Angular_Degree
      key 3076 tiff_tag_location 0 count 1 value_offset 9001 - ProjLinearUnitsGeoKey: Linear_Meter
variable length header record 2 of 12:
  reserved             43707
  user ID              'LASF_Projection'
  record ID            34737
  length after header  28
  description          'GeoASCIIParamsTag (optional)'
    GeoAsciiParamsTag (number of characters 28)
      PUWG 1992, WGS84, PUWG 1992
variable length header record 3 of 12:
  reserved             43707
  user ID              'LASF_Spec'
  record ID            100
  length after header  26
  description          'WPD#1'
  index 1 bits/sample 16 compression 0 samples 0 temporal 0 gain 1, offset 0
variable length header record 4 of 12:
  reserved             43707
  user ID              'LASF_Spec'
  record ID            101
  length after header  26
  description          'WPD#2'
  index 2 bits/sample 16 compression 0 samples 0 temporal 0 gain 1, offset 0
variable length header record 5 of 12:
  reserved             43707
  user ID              'LASF_Spec'
  record ID            102
  length after header  26
  description          'WPD#3'
  index 3 bits/sample 16 compression 0 samples 0 temporal 0 gain 1, offset 0
variable length header record 6 of 12:
  reserved             43707
  user ID              'LASF_Spec'
  record ID            103
  length after header  26
  description          'WPD#4'
  index 4 bits/sample 16 compression 0 samples 0 temporal 0 gain 1, offset 0
variable length header record 7 of 12:
  reserved             43707
  user ID              'LASF_Spec'
  record ID            104
  length after header  26
  description          'WPD#5'
  index 5 bits/sample 16 compression 0 samples 0 temporal 0 gain 1, offset 0
variable length header record 8 of 12:
  reserved             43707
  user ID              'LASF_Spec'
  record ID            105
  length after header  26
  description          'WPD#6'
  index 6 bits/sample 16 compression 0 samples 0 temporal 0 gain 1, offset 0
variable length header record 9 of 12:
  reserved             43707
  user ID              'LASF_Spec'
  record ID            106
  length after header  26
  description          'WPD#7'
  index 7 bits/sample 16 compression 0 samples 0 temporal 0 gain 1, offset 0
variable length header record 10 of 12:
  reserved             43707
  user ID              'LASF_Spec'
  record ID            107
  length after header  26
  description          'WPD#8'
  index 8 bits/sample 16 compression 0 samples 0 temporal 0 gain 1, offset 0
variable length header record 11 of 12:
  reserved             43707
  user ID              'LASF_Spec'
  record ID            108
  length after header  26
  description          'WPD#9'
  index 9 bits/sample 16 compression 0 samples 0 temporal 0 gain 1, offset 0
variable length header record 12 of 12:
  reserved             43707
  user ID              'LASF_Spec'
  record ID            109
  length after header  26
  description          'WPD#10'
  index 10 bits/sample 16 compression 0 samples 0 temporal 0 gain 1, offset 0
reporting minimum and maximum for all LAS point record entries ...
  X    -221064    1617084
  Y    -554804    1571907
  Z    -202498     347786
  intensity 8 1143
  edge_of_flight_line 0 1
  scan_direction_flag 1 1
  number_of_returns_of_given_pulse 1 6
  return_number                    1 6
  classification      2     5
  scan_angle_rank   -34    34
  user_data           0     0
  point_source_ID     1     1
  gps_time -37906194.280358 -37819794.280375
  Wavepacket Index    0 2
             Offset   0 1801808540
             Size     0 320
             Location 0 157000
             Xt       -7.63249e-005 7.02767e-005
             Yt       -5.18709e-005 3.95951e-005
             Zt       0 0.000149855
WARNING: there are 8 points with return number 6
overview over number of returns of given pulse: 9692310 2333432 356037 26908 1330 48 0
histogram of classification of points:
         4903010  Ground (2)
         6166371  Medium Vegetation (4)
         1340684  High Vegetation (5)


Will be great to hear your advice and thank you for your time to look into this matter.

Kind regards,
Tai

Martin Isenburg

unread,
Jan 15, 2017, 8:37:48 AM1/15/17
to LAStools - efficient command line tools for LIDAR processing
Hello,

maybe you can clarify you request? It makes little sense to upgrade from a LAS 1.2 file (which can only contain point types 0 through 3) to LAS 1.3 and then add those VRLs that you are pointing out. Those VLRs only make sense (are used and needed) when the file contains points of type 4 or 5 that have "wavepacket" information whose min and max values are summarized in the lasinfo report that you included as follows:

[...]
  Wavepacket Index    0 2
             Offset   0 1801808540
             Size     0 320
             Location 0 157000
             Xt       -7.63249e-005 7.02767e-005
             Yt       -5.18709e-005 3.95951e-005
             Zt       0 0.000149855
[...]

and the wavepacket index that ranges from 0 to 2 would address on of those VLR above. Yout points *only* have that information because you point type was 4

[...]
  point data format:          4
  point data record length:   57
[...]

but when you start with point types 0, 1, 2, or 3 possible in a LAS 1.2 file then there is no "wavepacket" information. And finally, the wavepacket descriptors you are trying to add are all meaningless because they do not properly specify a waveform description as the "samples" as well as the "temporal" fields are all zero, which makes them totally useless. So I am not sure why you would want to add such VLRs to a file.

LAStools as is has no obvious way to do this, but there would be one not so obvious way. For that you would need to have a sample file to start from that has the correct VLRs already. But first we should figure out if that is really what you should be doing for all of the other aforementioned reasons.

[...]
[...]

Regards,

Martin @rapidlasso
Reply all
Reply to author
Forward
0 new messages