[PROJ] Confusion using cct with helmert transformation.

Chris Crook ccrook at linz.govt.nz
Thu May 28 17:33:14 PDT 2020


Hi All

I'm just having some trouble understanding what cct is doing.  I'm attempting to do a helmert transformation corresponding to  EPSG coordinate operation 9082.   http://www.epsg-registry.org/report.htm?type=selection&entity=urn:ogc:def:coordinateOperation:EPSG::9082&reportDetail=long&title=&reportDetail=long&title=&reportDetail=long&style=urn:uuid:report-style:default-with-urn&style_name=OGP%20Default%20With%20Urn&title=9082&r=63

The command I am running is

cct -vvv -t 2016.5 -d 9 +proj=helmert +ellps=GRS80 +convention=coordinate_frame +t_epoch=2000.0 +x=0.00480 +y=0.00209 +z=-0.01767 +rx=-0.00016508 +ry=0.000226897 +rz=0.00011984 +s=0.00140901 +dx=0.00079 +dy=-0.00060 +dz=-0.00134 +drx=-0.00001347 +dry=0.00001514 +drz=0.00001973 +ds=-0.00010201 testcct.in

The input file testcct.in just contains one coordinate, 173 -41 0.

It appears to run properly, but gives a significantly wrong answer.

173.017834864  -41.007810362  -0.039779677     2016.5000 (I was expecting  173.00000030  -41.00000025     0.010 2016.5, give or take the rotation convention which I'm not sure I've got the right way around).

The verbose output shows that it is actually doing two transformations.

pj_open_lib(proj.db): call fopen(/home/ccrook/projects_git/proj/build2/data/proj.db) - succeeded
pj_open_lib(proj.ini): call fopen(/home/ccrook/projects_git/proj/data/proj.ini) - succeeded
pj_ellipsoid - final: a=6378137.000 f=1/298.257, errno=0
pj_ellipsoid - final:    ellps=GRS80
Helmert parameters:
x=   0.00480  y=   0.00209  z=  -0.01767
rx= -0.00017  ry=  0.00023  rz=  0.00012
s=   0.00141  exact=0  convention=coordinate_frame
dx=  0.00079  dy= -0.00060  dz= -0.00134
drx=-0.00000  dry= 0.00000  drz= 0.00000
ds= -0.00010  t_epoch=2000.00000
Transformation parameters for observation t_obs=0 (t_epoch=2000):
x: -1.5752
y: 1.20209
z: 2.66233
s: 2.05429e-07
rx: 1.29808e-07
ry: -1.45702e-07
rz: -1.90726e-07
theta: 0
Rotation Matrix:
  |      1  -1.90726e-07   1.45702e-07 |
  |  1.90726e-07       1   1.29808e-07 |
  | -1.45702e-07  -1.29808e-07       1 |
Final: proj=helmert ellps=GRS80 convention=coordinate_frame t_epoch=2000.0 x=0.00480 y=0.00209 z=-0.01767 rx=-0.00016508 ry=0.000226897 rz=0.00011984 s=0.00140901 dx=0.00079 dy=-0.00060 dz=-0.00134 drx=-0.00001347 dry=0.00001514 drz=0.00001973 ds=-0.00010201 argc=25 pargc=18
Transformation parameters for observation t_obs=2016.5 (t_epoch=2000):
x: 0.017835
y: -0.00781
z: -0.03978
s: -2.74155e-10
rx: -1.87785e-09
ry: 2.31114e-09
rz: 2.15929e-09
theta: 0
Rotation Matrix:
  |      1   2.15929e-09  -2.31114e-09 |
  | -2.15929e-09       1  -1.87785e-09 |
  |  2.31114e-09   1.87785e-09       1 |
173.017834864  -41.007810362  -0.039779677     2016.5000

The second one is the one I am expecting from my command line.  But the I don't understand where the first one (x: -1.5752 ...) is coming from, and how to stop cct from doing it.

Can anyone help please?

________________________________

This message contains information, which may be in confidence and may be subject to legal privilege. If you are not the intended recipient, you must not peruse, use, disseminate, distribute or copy this message. If you have received this message in error, please notify us immediately (Phone 0800 665 463 or info at linz.govt.nz) and destroy the original message. LINZ accepts no responsibility for changes to this email, or for any attachments, after its transmission from LINZ. Thank You.


More information about the PROJ mailing list