<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Thanks, Even.<o:p></o:p></p><p class=MsoNormal>Is there a way to automatically detect and solve this when reading a file? Detection is obviously possible by checking for the failing transformation, but how about the solution? It seems that the towgs84 parameters aren’t strictly necessary – is simply removing them a reasonable (and generic) workaround?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>--<o:p></o:p></p><p class=MsoNormal>Stefan<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b>From:</b> Even Rouault <even.rouault@gmail.com> <br><b>Sent:</b> Friday, March 22, 2019 12:05<br><b>To:</b> Stefan Moebius <Stefan.Moebius@amdocs.com><br><b>Cc:</b> gdal-dev@lists.osgeo.org<br><b>Subject:</b> Re: [gdal-dev] Coordinate transformation failing<o:p></o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><div><p class=MsoNormal>Stefan,<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>Le ven. 22 mars 2019 à 10:44, Stefan Moebius <<a href="mailto:Stefan.Moebius@amdocs.com">Stefan.Moebius@amdocs.com</a>> a écrit :<o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><p class=MsoNormal>Hi again,<br><br>We recently encountered an issue with failing coordinate transformations.<br>The scenario is that a current (Java-based) software using GDAL 2.4.0/PROJ<br>5.2.0 reads HFA files generated a long time ago by another software using<br>GDAL 1.11.1/PROJ 4.8.0. The HFA files happen to come in a DHDN projection<br>system. The current software then transforms the files into a UTM projection<br>system and fails.<br><br>Investigating this further, we've come up with the following minimal test<br>showing the issue:<br><br>The current version of gdalinfo returns this coordinate system:<br>PROJCS["DHDN_VfD2_Germany_zone_3",<br>    GEOGCS["GCS_DHDN",<br>        DATUM["Deutsche_Hauptdreiecksnetz",<br>            SPHEROID["Bessel_1841",6377397.16,299.15281],<br>            TOWGS84[583,68,399.5,-0,-0,578614.3160276701,11300000]],<o:p></o:p></p></blockquote><div><p class=MsoNormal><o:p> </o:p></p></div></div><div><p class=MsoNormal>--> OK, the TOWGS84 is wrong here. The rotation (4th,5th,6th) and scale factor difference (7th) terms of the TOWGS84 are obviously nonsense.<o:p></o:p></p></div><div><p class=MsoNormal>They should be respectively in arc-seconds and in PPM.<o:p></o:p></p></div><div><p class=MsoNormal>From what you mention, I believe this is due to<o:p></o:p></p></div><div><p class=MsoNormal><a href="https://github.com/OSGeo/gdal/commit/e3d18d2070d8d73eef37ff3b844b7e441ffb5149">https://github.com/OSGeo/gdal/commit/e3d18d2070d8d73eef37ff3b844b7e441ffb5149</a><o:p></o:p></p></div><div><p class=MsoNormal>which is likely correct by itself.<o:p></o:p></p></div><div><p class=MsoNormal>The issue here is that as you mentionned the file was produced by GDAL 1.11.1 which incorrectly stored the values<o:p></o:p></p></div><div><p class=MsoNormal>of the rotation and sale factor difference as arc-seconds and PPM whereas Erdas expected radians and unity-based scale factor difference.<o:p></o:p></p></div><div><p class=MsoNormal>Thus when reading this with GDAL >=2.2, the file is wrongly interpretated.<o:p></o:p></p></div><div><p class=MsoNormal>You should override the TOWGS84 values of this WKT with the corrected ones.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Even<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div></div></div></div></div></body></html>