las2las reprojection

930 views
Skip to first unread message

Mark Tukman

unread,
Jun 25, 2021, 11:30:49 AM6/25/21
to LAStools - efficient tools for LiDAR processing
Could someone please help me with the command to reproject one laz file (UTM) to another laz file's coordinate system (SP with specific vertical datum/geoid)?  Here's the lasinfo out output from the one we want to reproject:


  description          'by LAStools of rapidlasso GmbH'
    GeoKeyDirectoryTag version 1.1.0 number of keys 5
      key 1024 tiff_tag_location 0 count 1 value_offset 1 - GTModelTypeGeoKey: ModelTypeProjected
      key 3072 tiff_tag_location 0 count 1 value_offset 26910 - ProjectedCSTypeGeoKey: NAD83 / UTM 10N
      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
      key 4096 tiff_tag_location 0 count 1 value_offset 5703 - VerticalCSTypeGeoKey: NAVD88 height (Reserved EPSG)
the header is followed by 2 user-defined bytes
LASzip compression (version 3.4r1 c2 50000): POINT10 2 GPSTIME11 2
LAStiling (idx 5635, lvl 7, sub 0, bbox 467000 4130000 595000 4258000, buffer) (size 1000 x 1000, buffer 20)
reporting minimum and maximum for all LAS point record entries ...

And here is the info on the las file we'd like to reporoject to:
    OGC COORDINATE SYSTEM WKT:
    COMPD_CS["NAD83(2011) / California zone 3 (ftUS) + NAVD88 height (ftUS) - Geoid12B (survey feet)",PROJCS["NAD83(2011) / California zone 3 (ftUS)",GEOGCS["NAD83(2011)",DATUM["NAD83 (National Spatial Reference System 2011)",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","1116"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","6318"]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",38.43333333333333],PARAMETER["standard_parallel_2",37.06666666666667],PARAMETER["latitude_of_origin",36.5],PARAMETER["central_meridian",-120.5],PARAMETER["false_easting",6561666.667],PARAMETER["false_northing",1640416.667],UNIT["US survey foot",0.3048006096012192,AUTHORITY["EPSG","9003"]],AXIS["X",EAST],AXIS["Y",NORTH],AUTHORITY["EPSG","6420"]],VERT_CS["NAVD88 height (ftUS) - Geoid12B (survey feet)",VERT_DATUM["North American Vertical Datum 1988",2005,AUTHORITY["EPSG","5103"]],UNIT["US survey foot",0.3048006096012192,AUTHORITY["EPSG","9003"]],AXIS["Up",UP],AUTHORITY["EPSG","6360"]]]

Martin Isenburg

unread,
Jun 25, 2021, 12:15:35 PM6/25/21
to LAStools - efficient command line tools for LIDAR processing
Hello,

very important is to remove the LAStiling information first (and the buffer points) as this will not work after reprojecting.

LAStiling (idx 5635, lvl 7, sub 0, bbox 467000 4130000 595000 4258000, buffer) (size 1000 x 1000, buffer 20)

Use 'lastile' with option '-remove_buffers' for that.

Then I see three tasks:

(1) conversion from horizontal datum NAD83 / UTM 10N to NAD83(2011) with lasdatum

Do you have an NTv2 grid file for that or a seven parameter transform? Or should we disregard it. Kirk Waters is always the go-to guy here if the difference between these two horizontal datums in your area are significant and which transform to use.

(2) change of projection either with lasdatum (or if disregarding the changed datum with las2las)

las2las ^
-i 6420.laz  ^
-epsg 6420 ^
-target_epsg 26910 ^
-target_elevation_meter ^
-vertical_navd88 ^
-o 26910.laz  

or reverse

las2las ^
-i 26910.laz  ^
-epsg 26910 ^
-target_epsg 6420 ^
-target_elevation_survey_feet ^
-vertical_navd88 ^
-o 6420.laz

(3) Finally the vertical change from NAVD88 to NAVD88 height (ftUS) - Geoid12B (survey feet)

Again you would need a grid, this time the Geoid12B and use lasheight (see README).

These kind of operations are so tedious. <sigh> I am sure there are other specialists in this forum that may  figured out the sequence of commands.

Martin



--
Download LAStools at
http://lastools.org
http://rapidlasso.com
Be social with LAStools at
http://facebook.com/LAStools
http://twitter.com/LAStools
http://linkedin.com/groups/LAStools-4408378
Manage your settings at
http://groups.google.com/group/lastools/subscribe
---
You received this message because you are subscribed to the Google Groups "LAStools - efficient tools for LiDAR processing" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lastools+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lastools/b0eb5874-40de-4344-9ae4-ab6be8815a28n%40googlegroups.com.

Kirk Waters - NOAA Federal

unread,
Jun 25, 2021, 3:24:13 PM6/25/21
to LAStools - efficient command line tools for LIDAR processing
Martin and Mark,
I'd be cautious about step 1 and do a little research to figure out where your start point really is. It's pretty unlikely that the data is truly in the original NAD83(86). If the data is relatively recent, odds are pretty good that it's already in NAD83(2011) but is tagged as the more generic NAD83. I'm pretty sure we've still got a lot of data tagged as NAD83 because:
1) it was the only tag we knew at the time
2) software hasn't always been quick or consistent in picking the codes for the newer NAD83 realizations.

If you do have to do a conversion from one NAD83 realization to another, the road isn't easy. The only tool I know of to do it right now is NCAT (https://www.ngs.noaa.gov/NCAT/) and it's going to be pretty inefficient for the task. It may be the case that Proj has the grids from NCAT (the NADCON5 grids) that you could chain together to do it, but I don't know for sure if anyone has put a wrapper around Proj that understands LAS/LAZ and lets you do the chaining. There's a good chance that PDAL could do that with a multi-stage reprojection pipeline, but I haven't tried it. In that case, the road isn't too hard. With LAStools, I'd have to defer to Martin. It's potentially a multi-step transform with grids. If you started from NAD83(86) the sequence is something like 
NAD83(86) -> NAD83(HARN)
NAD83(HARN) -> NAD83(FBN)
NAD83(FBN) -> NAD83(2007)
NAD83(2007) -> NAD83(2011)
That's based on the grid names I see. I don't have any information on the inner workings of NCAT. I do know that there are real NOAA/NGS folks that subscribe to this forum, so I hope they will correct any errors I've made.

Kirk Waters, PhD                     | NOAA Office for Coastal Management
Applied Sciences Program      | 2234 South Hobson Ave
843-740-1227 (empty office)   | Charleston, SC 29405
843-324-2203 (cell during COVID)    



Reply all
Reply to author
Forward
0 new messages