<div dir="ltr"><div>Thanks Even</div><div><br></div><div>Finally I am patching the db to "undeprecate" the transformation EPSG:9925, with a worse accuracy. It produces the same outputs as 9.2.0.</div><div>Let's see what can we conclude with BKG/AdV about it.</div><div><br></div><div>Cheers,</div><div>Javier<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 2 May 2023 at 19:12, Even Rouault <<a href="mailto:even.rouault@spatialys.com" target="_blank">even.rouault@spatialys.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>Javier,</p>
<p>so for doing ETRF2000 <--> DHDN + DHHN2016 height<br>
</p>
<p>What exists as relevant transformations in proj.db:<br>
ETRF2000 <--> ETRS89/DREF91/2016: Helmert<br>
DHHN2016 height <--> ETRS89/DREF91/2016: grid<br>
</p>
<p>but nothing for ETRS89/DREF91/2016 <--> DHDN</p>
<p>I'm not sure if having such transformation would help (I guess so
though)</p>
<p>The "ETRS89 to ETRF2000" null Helmert transformation inserted by
PROJ from the definition of the ETRS89 datum ensemble cannot help
here, because, yes, we can do the horizontal and vertical steps
with:<br>
</p>
<p>ETRF2000 --> ETRS89/DREF91/2016 --> DHHN2016 height</p>
<p>ETRF2000 --> ETRS89 --> DHDN</p>
<p>but when combining them, we're stuck because the intermediate
datum (ETRS89/DREF91/2016 for vertical, ETRS89 for horizontal)
isn't the same (I guess having a known transformation could help,
but I'm not sure)</p>
<p>And even if that worked, I don't think that could be used to do
ETRS89 <--> DHDN + DHHN2016 height because of the too many
inference steps required.</p>
<p>Even<br>
</p>
<div>Le 02/05/2023 à 18:45, Javier Jimenez
Shaw a écrit :<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>Hi</div>
<div><br>
</div>
<div>When I was going to add the Helmert transformation, I
realized that there is already something similar in proj.db:</div>
<div>PROJ:ETRS89_TO_ETRF2000 "ETRS89 to ETRF2000" , with all
zeros.</div>
<div><br>
</div>
<div>However, if I try to go from ETRS89 (via ETRF2000) to "DHDN
+ DHH2016 height" it has the same output: horizontal (to DHDN,
that is the big chunk) or vertical, not both.<br>
</div>
<div>(There is already a transformation in proj.db: EPSG:10292
'ETRS89/DREF91/2016 to ETRF2000 (1)')</div>
<div><br>
</div>
<div><span style="font-family:monospace">PROJ_NETWORK=ON
projinfo -s EPSG:4937 -t EPSG:4314+7837 -o proj
--spatial-test intersects<br>
Candidate operations found: 11<br>
-------------------------------------<br>
Operation No. 1:<br>
<br>
unknown id, Inverse of Ballpark geographic offset from
ETRS89/DREF91/2016 to ETRS89 + ETRS89/DREF91/2016 to
DHHN2016 height (1) + Inverse of Ballpark geographic offset
from DHDN to ETRS89/DREF91/2016, unknown accuracy, Germany -
onshore and offshore., has ballpark transformation<br>
<br>
PROJ string:<br>
+proj=pipeline<br>
+step +proj=axisswap +order=2,1<br>
+step +proj=unitconvert +xy_in=deg +xy_out=rad<br>
+step +inv +proj=vgridshift +grids=GCG2016.txt
+multiplier=1<br>
+step +proj=unitconvert +xy_in=rad +xy_out=deg<br>
+step +proj=axisswap +order=2,1<br>
<br>
-------------------------------------<br>
Operation No. 2:<br>
<br>
unknown id, Inverse of Null geographic offset from ETRS89
(geog2D) to ETRS89 (geog3D) + ETRS89 to ETRF2000 + Inverse
of Conversion from ETRF2000 (geocentric) to ETRF2000
(geog2D) + Inverse of ETRS89/DREF91/2016 to ETRF2000 (1) +
Inverse of Conversion from ETRS89/DREF91/2016 (geog3D) to
ETRS89/DREF91/2016 (geocentric) + ETRS89/DREF91/2016 to
DHHN2016 height (1) + Inverse of Ballpark geographic offset
from DHDN to ETRS89/DREF91/2016, unknown accuracy, Germany -
onshore and offshore., has ballpark transformation<br>
<br>
PROJ string:<br>
+proj=pipeline<br>
+step +proj=axisswap +order=2,1<br>
+step +proj=unitconvert +xy_in=deg +xy_out=rad<br>
+step +proj=cart +ellps=GRS80<br>
+step +inv +proj=helmert +x=0 +y=0 +z=0 +rx=0.000658
+ry=-0.000208 +rz=0.000755<br>
+s=0 +convention=position_vector<br>
+step +inv +proj=cart +ellps=GRS80<br>
+step +inv +proj=vgridshift +grids=GCG2016.txt
+multiplier=1<br>
+step +proj=unitconvert +xy_in=rad +xy_out=deg<br>
+step +proj=axisswap +order=2,1<br>
<br>
-------------------------------------<br>
Operation No. 3:<br>
<br>
unknown id, Inverse of Transformation from DHHN2016 height
to ETRS89 (ballpark vertical transformation, without
ellipsoid height to vertical height correction) + Inverse of
DHDN to ETRS89 (8), unknown accuracy, Germany - onshore -
states of Baden-Wurtemberg, Bayern, Berlin, Brandenburg,
Bremen, Hamburg, Hessen, Mecklenburg-Vorpommern,
Niedersachsen, Nordrhein-Westfalen, Rheinland-Pfalz,
Saarland, Sachsen, Sachsen-Anhalt, Schleswig-Holstein,
Thuringen., has ballpark transformation<br>
<br>
PROJ string:<br>
+proj=pipeline<br>
+step +proj=axisswap +order=2,1<br>
+step +proj=unitconvert +xy_in=deg +xy_out=rad<br>
+step +inv +proj=hgridshift +grids=de_adv_BETA2007.tif<br>
+step +proj=unitconvert +xy_in=rad +xy_out=deg<br>
+step +proj=axisswap +order=2,1<br>
<br>
-------------------------------------</span></div>
<div><br>
</div>
<div><br>
</div>
<div>If I use directly ETRF2000 instead of ETRS89, similar. It
is not applying vertical and horizontal transformations
together.<br>
</div>
<div><br>
</div>
<div><span style="font-family:monospace">PROJ_NETWORK=ON
projinfo -s ETRF2000 -t EPSG:4314+7837 -o proj
--spatial-test intersects<br>
Candidate operations found: 11<br>
-------------------------------------<br>
Operation No. 1:<br>
<br>
unknown id, Inverse of Ballpark geographic offset from
ETRS89/DREF91/2016 to ETRF2000 + ETRS89/DREF91/2016 to
DHHN2016 height (1) + Inverse of Ballpark geographic offset
from DHDN to ETRS89/DREF91/2016, unknown accuracy, Germany -
onshore and offshore., has ballpark transformation<br>
<br>
PROJ string:<br>
+proj=pipeline<br>
+step +proj=axisswap +order=2,1<br>
+step +proj=unitconvert +xy_in=deg +xy_out=rad<br>
+step +inv +proj=vgridshift +grids=GCG2016.txt
+multiplier=1<br>
+step +proj=unitconvert +xy_in=rad +xy_out=deg<br>
+step +proj=axisswap +order=2,1<br>
<br>
-------------------------------------<br>
Operation No. 2:<br>
<br>
unknown id, Inverse of Conversion from ETRF2000 (geocentric)
to ETRF2000 (geog3D) + Inverse of ETRS89/DREF91/2016 to
ETRF2000 (1) + Inverse of Conversion from ETRS89/DREF91/2016
(geog3D) to ETRS89/DREF91/2016 (geocentric) +
ETRS89/DREF91/2016 to DHHN2016 height (1) + Inverse of
Ballpark geographic offset from DHDN to ETRS89/DREF91/2016,
unknown accuracy, Germany - onshore and offshore., has
ballpark transformation<br>
<br>
PROJ string:<br>
+proj=pipeline<br>
+step +proj=axisswap +order=2,1<br>
+step +proj=unitconvert +xy_in=deg +xy_out=rad<br>
+step +proj=cart +ellps=GRS80<br>
+step +inv +proj=helmert +x=0 +y=0 +z=0 +rx=0.000658
+ry=-0.000208 +rz=0.000755<br>
+s=0 +convention=position_vector<br>
+step +inv +proj=cart +ellps=GRS80<br>
+step +inv +proj=vgridshift +grids=GCG2016.txt
+multiplier=1<br>
+step +proj=unitconvert +xy_in=rad +xy_out=deg<br>
+step +proj=axisswap +order=2,1<br>
<br>
-------------------------------------<br>
Operation No. 3:<br>
<br>
unknown id, Inverse of Transformation from DHHN2016 height
to ETRF2000 (ballpark vertical transformation, without
ellipsoid height to vertical height correction) + Inverse of
ETRS89 to ETRF2000 + Inverse of DHDN to ETRS89 (8), unknown
accuracy, Germany - onshore - states of Baden-Wurtemberg,
Bayern, Berlin, Brandenburg, Bremen, Hamburg, Hessen,
Mecklenburg-Vorpommern, Niedersachsen, Nordrhein-Westfalen,
Rheinland-Pfalz, Saarland, Sachsen, Sachsen-Anhalt,
Schleswig-Holstein, Thuringen., has ballpark transformation<br>
<br>
PROJ string:<br>
+proj=pipeline<br>
+step +proj=axisswap +order=2,1<br>
+step +proj=unitconvert +xy_in=deg +xy_out=rad<br>
+step +inv +proj=hgridshift +grids=de_adv_BETA2007.tif<br>
+step +proj=unitconvert +xy_in=rad +xy_out=deg<br>
+step +proj=axisswap +order=2,1<br>
<br>
-------------------------------------</span></div>
<div><br>
</div>
<div>I was not expecting that. Am I missing anything?</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Javier<br>
</div>
<div><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sat, 29 Apr 2023 at 20:31,
Even Rouault <<a href="mailto:even.rouault@spatialys.com" target="_blank">even.rouault@spatialys.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Le 29/04/2023 à 19:58, Javier Jimenez Shaw a écrit :<br>
> Thanks Even.<br>
><br>
> Yes, I will contact BKG.<br>
><br>
> I was thinking on another option: defining a Helmert
transformation <br>
> between ETRS89/DREF91/2016 and ETRS89, (probably with
0,0,0 params) <br>
> and some (in)accuracy, to "connect" the new system with
the old ones. <br>
> Otherwise the "new" systems and the "old" ones are
disconnected and <br>
> only ballpark transformations are possible. Something
like <br>
> <a href="https://epsg.org/transformation_9703/ETRF2000-PL-to-ETRS89-1.html" rel="noreferrer" target="_blank">https://epsg.org/transformation_9703/ETRF2000-PL-to-ETRS89-1.html</a>
for <br>
> Poland. (<a href="https://epsg.org/search/by-name/?query=ETRF2000-PL" rel="noreferrer" target="_blank">https://epsg.org/search/by-name/?query=ETRF2000-PL</a>
sounds <br>
> very similar to <br>
> <a href="https://epsg.org/search/by-name?searchedTerms=ETRS89%2FDREF91%2F2016" rel="noreferrer" target="_blank">https://epsg.org/search/by-name?searchedTerms=ETRS89%2FDREF91%2F2016</a>
<br>
> but without that "link" to the "old" systems).<br>
> What do you think about this? Would it work?<br>
<br>
Yes that also crossed through my mind. I believe it should
work (but <br>
beware of the limitations of PROJ inference logic of guessing
at most a <br>
single intermediate CRS, but for doing WGS84 -> ETRS89
-> <br>
ETRS89/DREF91/2016, that should work). You might simulate that
<br>
beforehand by creating such a Helmert transformation.<br>
<br>
<br>
-- <br>
<a href="http://www.spatialys.com" rel="noreferrer" target="_blank">http://www.spatialys.com</a><br>
My software is free, but my time generally not.<br>
<br>
</blockquote>
</div>
</blockquote>
<pre cols="72">--
<a href="http://www.spatialys.com" target="_blank">http://www.spatialys.com</a>
My software is free, but my time generally not.</pre>
</div>
</blockquote></div>