[PROJ] geoid model for GNTRANS2016 height
Even Rouault
even.rouault at spatialys.com
Fri May 2 04:33:07 PDT 2025
Javier,
The epsg_definingoperation table of EPSG captures (among other defining
operations) the HeightTransformation association of a VerticalCRS of OGC
Abstract Topic 2 (https://docs.ogc.org/as/18-005r4/18-005r4.html), and
the GEOIDMODEL[] node in WKT.
IMHO, this concept of "defining operation" is a unnecessary modelling
complication. If there was *one* single defining operation allowed, I
could perhaps understand it, but several ones are allowed (e.g. NAVD88
is "defined" by all the US geoid models! see
https://epsg.org/crs_5703/NAVD88-height.html), and I bet that if you try
those different ones, they don't lead to the same value of NAVD88
height.. So, I believe this is effectively redundant with the coordinate
operation table.
The PROJ EPSG db importer doesn't import that epsg_definingoperation
table and solely relies on the epsg_coordoperation table to figure out
which transformation are available.
It seems to be that for this GNTRANS2016 height, this is more a hole in
the EPSG db to not have a corresponding entry in epsg_coordoperation,
unless they have a good reason for not doing that. Before implementing
complications on our side to process epsg_definingoperation, I'd suggest
you contact IOGP to check.
Even
Le 02/05/2025 à 13:13, Javier Jimenez Shaw via PROJ a écrit :
> Hi
>
> I found this vertical system:
> https://epsg.org/crs_9927/GNTRANS2016-height.html
>
> That has a geoid model definition. But the transformation used is not
> "... to GNTRANS2016 height" but to "... to DHDN2016 height". Why? I do
> not know. Probably they are considered equivalent for Deutsche Bahn
> (yes, the railway company).
>
> Looking at the table "epsg_definingoperation" from the EPSG database
> there is [lines are from a generated db, not the original sql]
> INSERT INTO "main"."epsg_definingoperation" ("crs_code", "ct_code")
> VALUES ('9927', '9925');
>
> There is a similar one for "Alicante height", that works normally
> INSERT INTO "main"."epsg_definingoperation" ("crs_code", "ct_code")
> VALUES ('5782', '9410');
>
> And there is no entry for "DHDN2016 height" (7837) in that table. But
> there are transformations defined. Yes, the German vertical system and
> geoid model works.
>
> I do not know what does it exactly mean that "defining operation". I
> was expecting something like "the orthometric height is *defined* as
> the ellipsoidal height minus that geoid undulation" (so that geoid
> file is not a "model", but a "definition") as they do in the new
> American NAPGD2022. "By definition". But I have not seen it before.
> (In Alicante height I am very surprised, because the vertical system
> is really old).
>
> Anyhow, I think there is a missing connection in the proj.db between
> "GNTRANS2016 height" and the geoid model transformation defined in
> EPSG. I have the impression we are not using epsg_definingoperation at
> all.
>
> Does it make sense to process it? Is "GNTRANS2016 height" the only one
> without the connection?
>
> Cheers,
> Javier.
>
>
>
> _______________________________________________
> 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.
More information about the PROJ
mailing list