[Proj] Understanding 2D Helmert

Even Rouault even.rouault at spatialys.com
Sat Oct 27 17:03:57 EST 2018

On samedi 27 octobre 2018 10:00:17 CEST Andre Joost wrote:
> Am 26.10.18 um 20:11 schrieb Even Rouault:
> > On vendredi 26 octobre 2018 19:54:22 CEST Andre Joost wrote:
> >> Thanks, that worked for me in this way:
> >> 
> >> cct -z 0 +proj=helmert +convention=coordinate_frame +x=239228.435
> >> +y=6693404.951 +s=1.0003267 +theta=18795.4443 <HelmertIn.txt
> >> 
> >>   >>HelmertOut.txt
> >> 
> >> Maybe this example should be added to the Helmert and/or cct man pages.
> > 
> > Where do those figures come from ? Is it some official transformation
> > registered somewhere ?
> See
> https://gis.stackexchange.com/questions/300219/helmert-transformation
> and
> http://www.maanmittauslaitos.fi/sites/default/files/Finnish_Coordinate_Syste
> ms.pdf, chapter 6.2
> Seems they have 2D helmert transformations defined between KKJ and
> ETRS-TM35 within every triangulation triangle. The link given in the
> document is not valid anymore, but now available on
>  http://coordtrans.fgi.fi/kkj_EUREF-FIN.jsp after login.

Thanks for the context. I see the EPSG dataset has a transform from KKJ 
Geographic to ETRS89 using the parameters given in "6.1 The 3D transformation"

As far as the 2D helmert per triangle, this would be impractical to 
incorporate that in the to-be PROJ database. But I guess someone could create 
a grid that approximates the result of such transformation. Depending on the 
step chosen, you could probably achieve very similar results to the "exact" 

One thing that strikes me in the description of the method is that you might 
have some discontinuities when considering points on each side of an edge of 
the triangulation. But perhaps the method is a bit more subtle than this 
explanation and you don't just take the delta_x, delta_y, a1, a2, b1, b2 
parameter of the triangle, but rather consider values of those parameters at 
the 3 points of the triangle, and do a barycentric interpolation with the 
coordinates of the point to be transformed. That way you would have 

> One other thing that strikes me:
> I have 8 lines within my input file, but only the first 7 get
> transformed. The last input line does not end with CR LF.

Would be worth opening a ticket about that.


Spatialys - Geospatial professional services

More information about the Proj mailing list