XY multiply transformation with las2las

117 views
Skip to first unread message

Stavros Syrigos

unread,
Jan 26, 2023, 12:07:19 PM1/26/23
to LAStools - efficient tools for LiDAR processing
Hi,

Is it possible to do a XY multiply transform (aka 2D Helmert transformation, aka 4-parameter similarity transformation) with las2las?

NewX = dX + a*OldX +b*OldY
NewY = dY + b*OldX +a*OldY
NewZ = 0 + 1*OldZ

I know las2las can use the parameter -transform_helmert with either 3 or 7 parameters ,but not with 4.

Kind regards,
Stavros

Jorge Delgado García

unread,
Jan 26, 2023, 3:57:52 PM1/26/23
to last...@googlegroups.com
I have been thinking a bit about your question and I don't see it as straightforward, at the end, you have a Helmert transformation of 7 parameters (3 rotations and 3 translations in each axis, but a scale factor). Actually, with your transformation what you are going to apply you leave the Z axis unmodified, and you translate and apply a scale and rotation to each axis. Evidently, it is an operation that if considered useful I understand that it can be easily applied to the program (although it would be a dangerous tool for non-expert users since they could alter the data).
Another solution (although outside LAStools) would be to use PDAL.
C:> pdal translate -i input.las -o output.laz -f transformation --filters.transformation.matrix="a b 0 dx b a 0 dy 0 0 0 1 0 0 0 0 0 0 1" --writers.las.compression="true" -v 4

+info: https://dominoc925.blogspot.com/2018/05/using-pdal-to-perform-simple.html

Jorge

--
Download LAStools at
https://rapidlasso.de
Manage your settings at
https://groups.google.com/g/lastools/membership
---
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/f96133a5-b5ef-4153-a7e8-5b239a6a8f81n%40googlegroups.com.


--

Stavros Syrigos

unread,
Jan 26, 2023, 5:43:13 PM1/26/23
to LAStools - efficient tools for LiDAR processing
just correcting the above, it should be  NewY = dY - b*OldX +a*OldY

Jorge Delgado García

unread,
Jan 26, 2023, 5:50:02 PM1/26/23
to last...@googlegroups.com
Ok no problem the use in pdal is the same, only change the sign.

Jorge 

--
Download LAStools at
https://rapidlasso.de
Manage your settings at
https://groups.google.com/g/lastools/membership
---
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.
--

Stavros Syrigos

unread,
Jan 27, 2023, 10:37:45 AM1/27/23
to LAStools - efficient tools for LiDAR processing
Hi,

Thank you for your reply. Would the same result as with PDAL be achievable with las2las matrix transformation?


Stavros

michaelperdue99

unread,
Jan 28, 2023, 4:54:06 AM1/28/23
to LAStools - efficient tools for LiDAR processing
Hi Stavros,

If you want to use a 2D similarity transformation, you simply set the three un-needed parameters (Dz, Rx & Rz) to 0 in the seven parameter helmert.

The problem is that the helmert transformation used in las2las uses small angle simplifications. Small angle simplifications hold true when the rotation angles are very small (arc seconds or milli arc seconds), as is the case for geodetic transformations. But they will generate incorrect answers when the rotations become larger. I demonstrated and discussed this previously here.

This restricts the usefulness of using the helmert transformation in las2las to specific cases where rotation angles are smaller than some threshold (probably a couple dozen arc seconds).

At the time, my understanding is that Martin had added the Helmert transformation so that geodetic transformations could be performed. However, since that functionality was moved to and expanded upon in lasdatum, there is the potential to make the helmert transformation in las2las a little more generic which would open up it's usefulness without compromising it's original intent. I don't think it would be a lot of work and I'd be willing to help, but there has to be an appetite for the change.

Cheers,

Mike

Stavros Syrigos

unread,
Jan 29, 2023, 8:12:21 AM1/29/23
to LAStools - efficient tools for LiDAR processing
Hi Mike,

Thanks a lot for your detailed answer. Good to know about these caveats. In any case, I managed to use las2las's -transform_matrix argument, which should be fine for arbitrary transformations. I checked my output against other software and the results match:

las2las -i input.laz -o output.laz -olaz -transform_matrix a,b,0 -b,a,0 0,0,1 dx,dy,0

I only found that lastools had transform_matrix from the posts in this group, after I posted my original question, as it does not seem to be included in the official documentation yet.

That said, thanks for all replies - good to see lastools becoming more capable.

BR,
Stavros

Jochen Rapidlasso

unread,
Jan 29, 2023, 8:16:43 AM1/29/23
to LAStools - efficient tools for LiDAR processing
Hi Stavros,
good to see it works as expected.
The "-transform_matrix" argument is in all *_readme.md files and in the GUI - which is the reference documentation right now.

ss.jpg

We do not have undocumented hidden features anymore (so I hope...)

Best regards,

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