This post applies if your grid to ground conversion requires needing to apply a horizontal rotation about an origin point and is defined by:
- Horizontal Translation North (tN)
- Horizontal Translation East (tE)
- Horizontal Rotation (Rz)
- Horizontal Origin Northing (N0)
- Horizontal Origin Easting (E0)
- Horizontal Scale Factor
Then, if the horizontal scale factor is one, luckily, the horizontal rotation simplifies things a little as it becomes a translation to the origin, a rotation about the Z axis, translation back, and then apply the easting and northing translations, if applicable. This can be done in four applications of the Affine Transform LAS PCT, but it can also be simplified with a little re-factor work ahead of time as the Affine Transform Point Cloud Tasks in LP360 will do for you.
Background Math
We start with the origin point of rotation:

And horizontal translations:

Consider the translation and rotation(z) matrices in figure 1. Then the output, out1, of a point, P1, with an origin of rotation at P0, is given by:

Re-factor the above so a single offset can be used. Where:
then,
and the constant offset portion is then
then the single translation values become,
Tx = E0 * ( 1 – cos(Rz) ) + N0 * sin(Rz) + tE
Ty = N0 * ( 1 – cos(Rz) ) - E0 * sin(Rz) + tN
Using the Affine Transform PCTs:
Create the LP360 Affine Transform LAS PCT and/or LP360 Affine Transform Raster PCT. Then, from your inputs:
Compute the value for the horizontal rotation (Rz), if the rotation is given in D°M'SS.SSSS", then Rz = D + M/60 + SS.SSSS/3600
- Enable Rotate
- Enter the value for the Horizontal Rotation (Rz) in decimal degrees
- Default and typical rotation order is using the axis order of Z,Y,X, but X,Y,Z is also supported.
- Enable Translate
- Enter the value Horizontal Translation East (tE) for Translate X
- Enter the value Horizontal Translation North (tN) for Translate Y
- Enable Origin
- Enter the value E0 for Origin X
- Enter the value N0 for Origin Y
Example LP360 LAS Affine Transform PCT - Input values
Then, select the units for your local CRS and the Output folder. We typically recommend "Maintain Source File Structure" and to "GeoTag as Local SRS".
Then, execute the Point Cloud Task on the desired input dataset to generate a new dataset with the horizontal rotation about the origin point applied.
Comments
0 comments
Please sign in to leave a comment.