Las2Las transformation to Lambert72

60 views
Skip to first unread message

stijn....@pythagoras.net

unread,
Jan 31, 2017, 8:56:42 PM1/31/17
to LAStools - efficient tools for LiDAR processing
Hi everyone,

I have some questions with regards to the las2las conversion in lastools.

I am using this tool to convert a las file from WGS84 to Lambert72.
The results seems to be 200 meters off in distance.


What is the accuracy of the transformation parameters? How can I know for sure that I am using the right transformation (WGS84)? Is there any info that I can read out of the original las file?
Note: in my version of lastools I needed to manually correct the command string (epgs instead of espg).

Here is a link to the las file :
https://pythagorasbvba.sharepoint.com/_layouts/15/guestaccess.aspx?docid=036d5eee276704a3a9a8b842a44663cb1&authkey=AUt4OCtKDanZ30_TdAV5k8M

Any help is appreciated!

Stijn Van Beek

Martin Isenburg

unread,
Jan 31, 2017, 11:57:44 PM1/31/17
to LAStools - efficient command line tools for LIDAR processing
Hello Stijn,

it's considered offensive to post a link to 182 MB uncompressed LAS file in the LAStools forum. (-: This is aggravated in your case given that I had helped integrate LASzip into your software ... (-;

Jokes aside ... LASzip compression does not work as well for this file as we are used to. The coordinate resolution is quite high (1e-8 for longlat and 0.001 for elevations) and the point order not ideal. But it would still have cut my download time here in Cebu, Philippines from 45 to 17 minutes,

190,369,342 Medium Las DemoDag Topcon.las
 73,435,389 Medium Las DemoDag Topcon.laz

Note that if you want to view this file with lasview you'll have to press <SHIFT>-<a> for an adaptive scale because the x/y coordinates are in longlat and the z elevations in meters (see attached image).

So I assume you want to go from the current WGS84 longlat representation to EPSG code 31370 aka "Belge 1972 / Belgian Lambert 72".


This will require a datum transform from WGS84 to Reseau_National_Belge_1972 and that is not implemented in LAStools. I should make las2las emit a WARNING when someone attempts to re-project between non-compatible datums ... that's been on my TODO list for a while.

That said ... it would be interesting to add at least the most common datum transforms to geoprojectionconverter.[cpp/hpp]. Which ones should we include and can you provide the formulas?

However. You can go to any WGS84 projection. Such as 

las2las -i "Medium Las DemoDag Topcon.las" ^
            -target_utm auto ^
            -odix _utm -olaz

lasgrid -i "Medium Las DemoDag Topcon_utm.laz" ^
           -step 0.25 -rgb ^
           -opng
 
lasgrid -i "Medium Las DemoDag Topcon_utm.laz" ^
           -step 0.25 -false  ^
           -opng

las2dem -i "Medium Las DemoDag Topcon_utm.laz" ^
              -thin_with_grid 0.125 ^
              -step 0.25  -hillshade ^
              -opng 

Then the resulting geo-referenced overlay images show up in more or less the correct spot in Google Earth (see attached screen shots).

Regards,

Martin @rapidlasso 

E:\LAStools\bin>lasinfo "Medium Las DemoDag Topcon.las"
lasinfo (170122) report for Medium Las DemoDag Topcon.las
reporting all LAS header entries:
  file signature:             'LASF'
  file source ID:             1
  global_encoding:            0
  project ID GUID data 1-4:   00000000-0000-0000-0000-000000000000
  version major.minor:        1.2
  system identifier:          'Agisoft PhotoScan'
  generating software:        'Agisoft PhotoScan'
  file creation day/year:     26/2017
  header size:                227
  offset to point data:       540
  number var. length records: 3
  point data format:          2
  point data record length:   26
  number of point records:    7321877
  number of points by return: 7321877 0 0 0 0
  scale factor x y z:         0.00000001 0.00000001 0.001
  offset x y z:               4.270000000000001 51 0
  min x y z:                  4.27095388 51.00062824 52.521
  max x y z:                  4.27144560 51.00100036 73.945
variable length header record 1 of 3:
  reserved             0
  user ID              'LASF_Projection'
  record ID            34735
  length after header  112
  description          ''
    GeoKeyDirectoryTag version 1.1.0 number of keys 13
      key 1024 tiff_tag_location 0 count 1 value_offset 2 - GTModelTypeGeoKey: ModelTypeGeographic
      key 1025 tiff_tag_location 0 count 1 value_offset 1 - GTRasterTypeGeoKey: RasterPixelIsArea
      key 2048 tiff_tag_location 0 count 1 value_offset 4326 - GeographicTypeGeoKey: GCS_WGS_84
      key 2049 tiff_tag_location 34737 count 7 value_offset 0 - GeogCitationGeoKey: WGS 84
      key 2050 tiff_tag_location 0 count 1 value_offset 6326 - GeogGeodeticDatumGeoKey: Datum_WGS84
      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 0 - GeogAngularUnitSizeGeoKey: 0.01745329252
      key 2056 tiff_tag_location 0 count 1 value_offset 7030 - GeogEllipsoidGeoKey: Ellipse_WGS_84
      key 2057 tiff_tag_location 34736 count 1 value_offset 1 - GeogSemiMajorAxisGeoKey: 6378137
      key 2059 tiff_tag_location 34736 count 1 value_offset 2 - GeogInvFlatteningGeoKey: 298.2572236
      key 2061 tiff_tag_location 34736 count 1 value_offset 3 - GeogPrimeMeridianLongGeoKey: 0
      key 4099 tiff_tag_location 0 count 1 value_offset 9001 - VerticalUnitsGeoKey: Linear_Meter
variable length header record 2 of 3:
  reserved             0
  user ID              'LASF_Projection'
  record ID            34736
  length after header  32
  description          ''
    GeoDoubleParamsTag (number of doubles 4)
      0.0174533 6.37814e+006 298.257 0
variable length header record 3 of 3:
  reserved             0
  user ID              'LASF_Projection'
  record ID            34737
  length after header  7
  description          ''
    GeoAsciiParamsTag (number of characters 7)
      WGS 84|
reporting minimum and maximum for all LAS point record entries ...
  X               95388     144560
  Y               62824     100036
  Z               52521      73945
  intensity           0      65535
  return_number       1          1
  number_of_returns   1          1
  edge_of_flight_line 0          0
  scan_direction_flag 1          1
  classification      0          0
  scan_angle_rank     0          0
  user_data           0          0
  point_source_ID     1          1
  Color R 0 65535
        G 0 65535
        B 0 65535
number of first returns:        7321877
number of intermediate returns: 0
number of last returns:         7321877
number of single returns:       7321877
overview over number of returns of given pulse: 7321877 0 0 0 0 0 0
histogram of classification of points:
         7321877  never classified (0)

=========================================

E:\LAStools\bin>lasinfo "Medium Las DemoDag Topcon_utm.laz"
lasinfo (170122) report for Medium Las DemoDag Topcon_utm.laz
reporting all LAS header entries:
  file signature:             'LASF'
  file source ID:             1
  global_encoding:            0
  project ID GUID data 1-4:   00000000-0000-0000-0000-000000000000
  version major.minor:        1.2
  system identifier:          'LAStools (c) by rapidlasso GmbH'
  generating software:        'las2las (version 170122)'
  file creation day/year:     26/2017
  header size:                227
  offset to point data:       321
  number var. length records: 1
  point data format:          2
  point data record length:   26
  number of point records:    7321877
  number of points by return: 7321877 0 0 0 0
  scale factor x y z:         0.01 0.01 0.01
  offset x y z:               500000 5600000 0
  min x y z:                  589179.21 5650663.68 52.52
  max x y z:                  589213.75 5650705.37 73.95
variable length header record 1 of 1:
  reserved             0
  user ID              'LASF_Projection'
  record ID            34735
  length after header  40
  description          'by LAStools of rapidlasso GmbH'
    GeoKeyDirectoryTag version 1.1.0 number of keys 4
      key 1024 tiff_tag_location 0 count 1 value_offset 1 - GTModelTypeGeoKey: ModelTypeProjected
      key 3072 tiff_tag_location 0 count 1 value_offset 32631 - ProjectedCSTypeGeoKey: WGS 84 / UTM 31N
      key 3076 tiff_tag_location 0 count 1 value_offset 9001 - ProjLinearUnitsGeoKey: Linear_Meter
      key 4099 tiff_tag_location 0 count 1 value_offset 9001 - VerticalUnitsGeoKey: Linear_Meter
LASzip compression (version 2.5r2 c2 50000): POINT10 2 RGB12 2
reporting minimum and maximum for all LAS point record entries ...
  X             8917921    8921375
  Y             5066368    5070537
  Z                5252       7395
  intensity           0      65535
  return_number       1          1
  number_of_returns   1          1
  edge_of_flight_line 0          0
  scan_direction_flag 1          1
  classification      0          0
  scan_angle_rank     0          0
  user_data           0          0
  point_source_ID     1          1
  Color R 0 65535
        G 0 65535
        B 0 65535
number of first returns:        7321877
number of intermediate returns: 0
number of last returns:         7321877
number of single returns:       7321877
overview over number of returns of given pulse: 7321877 0 0 0 0 0 0
histogram of classification of points:
         7321877  never classified (0)


lasview_Medium_Las_DemoDag_Topcon.jpg
lasgrid_rgb_Medium_Las_DemoDag_Topcon.jpg
lasgrid_false_Medium_Las_DemoDag_Topcon.jpg
las2dem_hillshade_Medium_Las_DemoDag_Topcon.jpg
Reply all
Reply to author
Forward
0 new messages