Re: Seeking clarification on PROJ support for temporal transformations

Didier Richard <[email protected]>
Newsgroups gmane.comp.gis.proj-4.devel
Message-ID <[email protected]>
Hi,

I've just checked with ITRF team, the mentioned file (http://itrf.ign.fr/doc_ITRF/Transfo-ITRF2014_ITRFs.txt) is up-to-date and correct !

Regards,
--
RICHARD Didier - Chef du Centre de Compétences Technologies des Systèmes d'Information
http://fr.linkedin.com/pub/didier-richard/98/2a3/a8/ - https://www.osgeo.org/member/didier/
IGN/Direction des Sciences et Technologies de l'Information/ENSG Géomatique
6/8 avenue Blaise Pascal - BP Champs-sur-Marne - 77455 MARNE-LA-VALLÉE CEDEX 2
Tél : +33 (0) 1 43 98 83 23


________________________________________
De : PROJ [[email protected]] de la part de Kristian Evers [[email protected]]
Envoyé : mercredi 28 août 2019 14:16
À : Even Rouault
Cc : PROJ
Objet : Re: [PROJ] Seeking clarification on PROJ support for temporal transformations

> I believe there's a small mistake in the ITRF2014 file (or the IGN page might
> have been updated in the meantime) for the ITRF2014:ITRF94 entry. It lacks a
> +drz=0.00002 (the ITRF96 entry as well).

Good catch! Originally I entered the parameters manually so it is not a surprise
that I've gotten a few of them wrong.

> Another detail: the pipeline you mention above is from GR96 to ITRF2014, right
> (due to the 'inv' of ITRF2014:ITRF94) ?
> And the last step which I assume is for the northamerica plate motion doesn't
> seem to have any effect as you forced t_obs in the previous step to the
> t_epoch of that step, so the time difference is 0.

Yes. My example was quite sloppy and without context. I just wanted to give
you an idea of how to do it but I should have used a few more minutes to
give a proper example. You are right about the +t_obs parameter. My example
is outdated, this worked with PROJ 5 but since then the +t_obs parameter has
been removed. The first step works though, as you can see here:

>echo 1109816.3447  -1370509.0484  6108938.7008 2019.5 | cct.exe +proj=pipeline +step +init=ITRF2014:NOAM +t_epoch=1996.623
 1109815.8649  -1370509.0724  6108938.7826     2019.5000

This used to work with my example from the previous mail since the +t_obs
parameter did not change the t component of a coordinate.

A better approach here would be to have an operation than can change
the t component as part of the plate motion step. If I remember correctly
something like that is already present in the EPSG database so it should
just be a matter of implementing that.

/Kristian

-----Original Message-----
From: Even Rouault <[email protected]>
Sent: 28. august 2019 00:50
To: Kristian Evers <[email protected]>
Cc: Nyall Dawson <[email protected]>; PROJ <[email protected]>
Subject: Re: [PROJ] Seeking clarification on PROJ support for temporal transformations

>
> A global plate motion model is part of ITRF2014 [0]. It comes in the form of
>
 Euler pole rotation parameters. They can be used in a time-dependent
> Helmert Transformation. Some time ago I included all the parameters in the
> ITRF2014 init file [1]. I use them to transform data from ITRF2014 to the
> local Greenlandic frame GR96 (effectively [email protected]). I've defined a
> pipeline like this:
> proj = pipeline ellps = GRS80
>             step inv init = ITRF2014:ITRF94 t_obs = 1996.623
>             step inv init = ITRF2014:NOAM   t_epoch=1996.623
>

That's interesting !

I believe there's a small mistake in the ITRF2014 file (or the IGN page might
have been updated in the meantime) for the ITRF2014:ITRF94 entry. It lacks a
+drz=0.00002 (the ITRF96 entry as well). I can see it in http://itrf.ign.fr/
doc_ITRF/Transfo-ITRF2014_ITRFs.txt and it is also there in the EPSG dataset:

$ projinfo -s ITRF2014 -t ITRF94 -o PROJ -q
+proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert
+xy_in=deg +xy_out=rad +step +proj=cart +ellps=GRS80 +step +inv +proj=helmert
+x=-0.0074 +y=0.0005 +z=0.0628 +rx=0 +ry=0 +rz=-0.00026 +s=-0.0038 +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 +step
+proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1

(the signs are different due to EPSG having ITRF94 to ITRF2014 natively, and
thus PROJ applying a +inv)

Another detail: the pipeline you mention above is from GR96 to ITRF2014, right
(due to the 'inv' of ITRF2014:ITRF94) ?
And the last step which I assume is for the northamerica plate motion doesn't
seem to have any effect as you forced t_obs in the previous step to the
t_epoch of that step, so the time difference is 0.


$ echo " 2768773.7909  -1598552.2935  5500477.1338" | src/cct +proj=pipeline
+ellps=GRS80 +step +inv +init=ITRF2014:ITRF94 +t_obs=1996.623
 2768773.7710  -1598552.2904  5500477.1757

$ echo " 2768773.7909  -1598552.2935  5500477.1338" | src/cct +proj=pipeline
+ellps=GRS80 +step +inv +init=ITRF2014:ITRF94 +t_obs=1996.623 +step +inv
+init=ITRF2014:NOAM +t_epoch=1996.623
 2768773.7710  -1598552.2904  5500477.1757

Even

--
Spatialys - Geospatial professional services
http://www.spatialys.com
_______________________________________________
PROJ mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/proj
_______________________________________________
PROJ mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/proj
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.