[Proj] Understanding 2D Helmert

Kristian Evers kreve at sdfe.dk
Sun Oct 28 10:02:05 EST 2018

On 28 Oct 2018, at 00:03, Even Rouault <even.rouault at spatialys.com<mailto:even.rouault at spatialys.com>> wrote:

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


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 ?

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"

Why is that? To me it seems somewhat similar to polynomial mappings (Horner),
in the way that many coefficients are likely to be stored for a given transformation.
Given a clever way of defining the triangles and their corresponding Helmet
parameters I think it should be possible to make these transformations work. At
least as PROJ strings.

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

I believe that is the case, yes. Last year we had a workshop within the
Nordic Geodetic Commision on the prospects of implementing the various
transformations used in the Nordic countries. This transformation was
brought up by both the Norwegians and the Fins and as far as I remember
it works exactly like you just described.
I know that both the Fins and the Norwegians are interested in seeing this
operations added in PROJ. I am sure they will be able to provide us with both
knowledge and test material should we want to implement this.


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
Proj mailing list
Proj at lists.maptools.org<mailto:Proj at lists.maptools.org>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.maptools.org/pipermail/proj/attachments/20181028/b2c6f1fb/attachment-0001.htm 

More information about the Proj mailing list