[PROJ] Helmet transform between 2 ITRF sets of coordinates

Even Rouault even.rouault at spatialys.com
Tue Nov 15 09:13:57 PST 2022


Alain,

you actually want to do 2 things:

- change the reference frame (from ITRF92 to ITRF2014)

- and change of coordinate epoch in one of the coordinate frames 
(presumably in ITRF2014)

You can't do that just by using the 15-parameter ITRF92->ITRF2014 
transformation.

So first step, change from ITRF92 to ITRF2014 at epoch 1993.0. You must 
use +t_epoch=2010 as it is the canoncial central epoch of the transformation

$ echo -139.57736536   -8.95162075   2.234  1993.0 | cct -d 8 
+proj=pipeline +step +proj=cart +ellps=GRS80 +step +proj=helmert 
+x=-0.0154 +y=-0.0015 +z=0.0708 +rx=0 +ry=0 +rz=-0.00026 +s=-0.00309 
+dx=-0.0001 +dy=0.0005 +dz=0.0033 +drx=0 +dry=0 +drz=-2e-05 +ds=-0.00012 
+t_epoch=2010 +convention=position_vector +step +inv +proj=cart +ellps=GRS80
  -139.57736535     -8.95162059    2.24172393     1993.0000

You can also that by using EPSG objects (but using lat, long order)

$ echo -8.95162075  -139.57736536  2.234 1993.0 | cs2cs -d 8 ITRF92 ITRF2014
-8.95162059    -139.57736535 2.24172393 1993.0

and second step, apply the Pacific plate motion Helmert transformation 
for ITRF2014:

$ echo   -139.57736535     -8.95162059    2.24172393 2023 | cct -d 8 \
     +proj=pipeline +step +proj=cart +ellps=GRS80 \
     +step +init=ITRF2014:PCFC +t_epoch=1993 \
     +step +inv +proj=cart +ellps=GRS80
  -139.57738390     -8.95161168    2.24071029     2023.0000

The ITRF2014:PCFC parameters are at 
https://github.com/OSGeo/PROJ/blob/4762020db550ac3b9405970f8830abdb5fefdb48/data/ITRF2014#L51

If inlined:

$ echo -139.57736535     -8.95162059    2.24172393 2023 | cct -d 8 
+proj=pipeline +step +proj=cart +ellps=GRS80 +step +proj=helmert 
+drx=-0.000409 +dry=0.001047 +drz=-0.002169 +convention=position_vector 
+t_epoch=1993 +step +inv +proj=cart +ellps=GRS80
  -139.57738390     -8.95161168    2.24071029     2023.0000

The difference between the initial and final coordinate in ITRF2014 is 
2.272 m.

$ echo  -8.95162075 -139.57736536 -8.95161168 -139.57738390  | geod -I 
+ellps=GRS80

-63d48'8.651"    116d11'51.359"    2.272

You could actually concatenate the 2 pipelines by using the +proj=set 
+v_4=2023 operator to force the target epoch of the plate motion 
transformation

$ echo -139.57736536   -8.95162075   2.234  1993.0 | cct -d 8 
+proj=pipeline \
      +step +proj=cart +ellps=GRS80 \
      +step +proj=helmert +x=-0.0154 +y=-0.0015 +z=0.0708 +rx=0 +ry=0 
+rz=-0.00026 +s=-0.00309 \
                +dx=-0.0001 +dy=0.0005 +dz=0.0033 +drx=0 +dry=0 
+drz=-2e-05 +ds=-0.00012 +t_epoch=2010 +convention=position_vector \
      +step +proj=set +v_4=2023 \
      +step +proj=helmert +drx=-0.000409 +dry=0.001047 +drz=-0.002169 
+convention=position_vector +t_epoch=1993 \
      +step +inv +proj=cart +ellps=GRS80

  -139.57738390     -8.95161168    2.24071029     2023.0000

Even

Le 15/11/2022 à 17:16, Alain Orsoni a écrit :
> Hello,
>
> I’m trying to convert ITRF92 (epoch 93.0) coordinates to ITRF2014 
> epoch 2023.0.
> Having some 8 cms per year movement I expect some 2.4m difference in 
> the coordinates.
>
> I tried some syntaxes but did not understand clearly how (where) to 
> indicate the epochs (initial and final) in my tests :
>
> One test applied was :
>
> echo -139.57736536  -8.95162075     2.234 2023.0 | cct +proj=pipeline 
> +step +proj=cart +ellps=GRS80 +step +proj=helmert +x=-0.0154 
> +y=-0.0015 +z=0.0708 +rx=0 +ry=0 +rz=-0.00026 +s=-0.00309 +dx=-0.0001 
> +dy=0.0005 +dz=0.0033 +drx=0 +dry=0 +drz=-2e-05 +ds=-0.00012 
> +t_epoch=1993 +convention=position_vector +step +inv +proj=cart 
> +ellps=GRS80
>
> Which gave me
> -139.5773658008   -8.9516192265        2.1701     2023.0000
>
> As result. Difference much lower than expected representing some 20 cm 
> variation from one epoch to the other.
>
> I indicated the final epoch desired in my input and the initial epoch 
> in the helmert transform.
> This is probably false, but I did not encounter this kind of 
> indication in the documentation.
>
> Where is the misunderstanding?
>
> Thank you for any help,
>
> Alain Orsoni
>
> _______________________________________________
> PROJ mailing list
> PROJ at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/proj

-- 
http://www.spatialys.com
My software is free, but my time generally not.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/proj/attachments/20221115/50133f31/attachment.htm>


More information about the PROJ mailing list