[PROJ] Plate motion models

Steve Riddell sriddell at geocue.com
Tue Feb 15 06:57:57 PST 2022


Works as expected. Thanks again!

From: Even Rouault <even.rouault at spatialys.com>
Sent: Monday, February 14, 2022 5:57 PM
To: Steve Riddell <sriddell at geocue.com>; proj at lists.osgeo.org
Cc: Kristian Evers <kreve at sdfe.dk>
Subject: Re: [PROJ] Plate motion models

Steve,
It turns out there was another reason, besides translation rates, that was preventing me matching HTDP results:  for the NOAM plate, the z-rotation rate should be -0.0001 as opposed to +0.0001.  The ITRF2008 init file needs to be updated.

Good catch: fix done in https://github.com/OSGeo/PROJ/commit/625d4b99e0b64b3ce5ba773e4236248506ae4f99. There was also an error on one component of PCFC

Regarding the translation rates, I've done a proposed update in https://github.com/OSGeo/PROJ/pull/3058.  Would you mind trying https://github.com/OSGeo/PROJ/blob/518cbe5387a7f192a25156543b299e852474e791/data/ITRF2008 with ITRF2008:NOAM_T and report if that works as expected (ideally before tomorrow before PROJ 9.0 RC will be cut) ?

Even
steve


From: Steve Riddell
Sent: Friday, February 11, 2022 3:27 PM
To: Even Rouault <even.rouault at spatialys.com><mailto:even.rouault at spatialys.com>; proj at lists.osgeo.org<mailto:proj at lists.osgeo.org>
Cc: Kristian Evers <kreve at sdfe.dk><mailto:kreve at sdfe.dk>
Subject: RE: [PROJ] Plate motion models

It did not occur to me initially, but all I had to do was add +dx/dy/dz terms in the Helmert string for NOAM in the init file. It works perfectly.

From: Steve Riddell
Sent: Wednesday, February 9, 2022 3:43 PM
To: Even Rouault <even.rouault at spatialys.com<mailto:even.rouault at spatialys.com>>; proj at lists.osgeo.org<mailto:proj at lists.osgeo.org>
Cc: Kristian Evers <kreve at sdfe.dk<mailto:kreve at sdfe.dk>>
Subject: RE: [PROJ] Plate motion models

Thank you again for the assistance. That was a huge help. It works as expected, based on the delivered ITRF2008/ITRF2014 init files.

Perhaps it should be noted that the delivered models support only 3-rotation parameters. The paper, “ITRF2008 plate motion model, Z. Altamimi, et al.”, and the HTDP documentation indicates that plates NOAM, PCFC, and CARB, include translation rates as well: (0.41,0.22,0.41)mm/yr.  The practical difference then is sub-centimeter, but noticeable when comparing with HTDP (over areas not covered by HTDP’s velocity grids).

Thanks again,
steve

From: Even Rouault <even.rouault at spatialys.com<mailto:even.rouault at spatialys.com>>
Sent: Monday, February 7, 2022 9:18 AM
To: Steve Riddell <sriddell at geocue.com<mailto:sriddell at geocue.com>>; proj at lists.osgeo.org<mailto:proj at lists.osgeo.org>
Subject: Re: [PROJ] Plate motion models


Hi Steve,

Assuming lon=-100 lat=40 z=0,  I believe (not sure! and in particular if that's geodetically meaningful to chain so many transformations) you should use a pipeline like the following one, which will do:

- conversion to cartesian coordinate space

- apply the ITRF2000 to ITRF2014 transformation preserving observation epoch of 2022.1

- apply the ITRF2014:NOAM model using a target epoch of 2010 (hence the +inv, as naturally the transformation would use +t_epoch as the "source") for a point at observation epoch of 2022.1

- force the observation epoch to 2010

- apply the ITRF2014 to ITRF2000 transformation (at epoch 2010)

- conversion to lat, lon coordinate space

echo -100 40 0 2022.1 | cct -d 8 +proj=pipeline \
    +step +proj=cart +ellps+GRS80 \
    +step +inv +init=ITRF2014:ITRF2000 \
    +step +inv +init=ITRF2014:NOAM +t_epoch=2010 \
    +step +proj=set +v_4=2010 \
    +step +init=ITRF2014:ITRF2000 \
    +step +inv +proj=cart +ellps+GRS80

I get:

-99.99999790     40.00000064    0.00755196     2010.0000

If using ITRF2008 instead of ITRF2014, I get:

  -99.99999854     40.00000065    0.00909276     2010.0000



I've also tried using a plate-fixed CRS as an intermediate using what is available in EPSG

First with NAD83(CORS96) since there's a direct transformation for it in EPSG (not quite "direct" since when looking at the comments, it already results from concatenation of ITRF96>97 and IERS ITRF97>2000 transformations)

(order is lat, lon here)
$ echo 40 -100 0 2022.1 | cs2cs -d 8 "ITRF2000" "NAD83(CORS96)" | cct -d 8 +proj=set +v_4=2010 | cs2cs -d 8 "NAD83(CORS96)"  "ITRF2000"
40.00000067    -99.99999766 -0.00447640     2010.0000

Or if using NAD83(2011) (there's a transformation between NAD83(2011) and ITRF2008 in EPSG (concatenation of ITRF96>97 and IERS ITRF97>2008 transformations), and PROJ will use the ITRF2008 to ITRF2000 transformation in addition
$ echo 40 -100 0 2022.1 | cs2cs -d 8 "ITRF2000" "NAD83(2011)" | cct -d 8 +proj=set +v_4=2010 | cs2cs -d 8 "NAD83(2011)"  "ITRF2000"
40.00000066    -99.99999765 -0.00447668     2010.0000

So results are somewhat consistent, at least in the lat, lon space (not for z values)

Best regards,

Even


Le 07/02/2022 à 14:49, Steve Riddell a écrit :
The data for the ITFR2008 & ITRF2014 plate motion models are delivered with PROJ as init files. From the documentation, 8.7, I think I see how an +init proj string can be used for changing epochs between ITFR frames (e.g. ITRF2000 to ITRF2005), but can someone please give an example of using the plate models? For example, if I have a point in ITRF2000 epoch 2022.1 and I want to use the NOAM plate model to move it to 2010.0, what would be the +init string? I’m assuming cct would be an appropriate application for processing this string?
Thanks for any assistance!
Steve


_______________________________________________

PROJ mailing list

PROJ at lists.osgeo.org<mailto: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.

--

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/20220215/bfaba097/attachment-0001.html>


More information about the PROJ mailing list