Hi Even & Kristian,
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.
steve

From: Steve Riddell
Sent: Friday, February 11, 2022 3:27 PM
To: Even Rouault <[email protected]>; [email protected]
Cc: Kristian Evers <[email protected]>
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 
<[email protected]<mailto:[email protected]>>; 
[email protected]<mailto:[email protected]>
Cc: Kristian Evers <[email protected]<mailto:[email protected]>>
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 
<[email protected]<mailto:[email protected]>>
Sent: Monday, February 7, 2022 9:18 AM
To: Steve Riddell <[email protected]<mailto:[email protected]>>; 
[email protected]<mailto:[email protected]>
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

[email protected]<mailto:[email protected]>

https://lists.osgeo.org/mailman/listinfo/proj

--

http://www.spatialys.com

My software is free, but my time generally not.
_______________________________________________
PROJ mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/proj

Reply via email to