[PROJ] Plate motion models

Even Rouault even.rouault at spatialys.com
Mon Feb 14 15:56:58 PST 2022


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>; proj at lists.osgeo.org
> *Cc:* Kristian Evers <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>; proj at lists.osgeo.org
> *Cc:* Kristian Evers <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>
> *Sent:* Monday, February 7, 2022 9:18 AM
> *To:* Steve Riddell <sriddell at geocue.com>; 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
>
>     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/73f1188e/attachment-0001.html>


More information about the PROJ mailing list