<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Hi,</p>
<p><br>
</p>
<p>I have an app build against GDAL 3.4.1 and PROJ6, and the same app build against GDAL 2.1.3 and PROJ4. They are not giving the same result when using OGRCoordinateTransformation.</p>
<p><br>
</p>
<p>If I do</p>
<p><br>
</p>
<p></p>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style=" color:#c0c0c0;">    </span><span style=" color:#808000;">const</span><span style=" color:#c0c0c0;"> </span><span style=" color:#808000;">char</span><span style=" color:#c0c0c0;"> </span>*<span style=" color:#092e64;">their</span><span style=" color:#c0c0c0;"> </span>=<span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">"GEOGCS[\"WGS</span><span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS</span><span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0],UNIT[\"degree\",0.0174532925199433],AUTHORITY[\"EPSG\",\"4326\"]]"</span>;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style=" color:#c0c0c0;">    </span><span style=" color:#808000;">const</span><span style=" color:#c0c0c0;"> </span><span style=" color:#808000;">char</span><span style=" color:#c0c0c0;"> </span>*<span style=" color:#092e64;">our</span><span style=" color:#c0c0c0;"> </span>=<span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">"+proj=longlat</span><span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">+datum=WGS84</span><span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">+ellps=WGS84</span><span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">+no_defs</span><span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">+over"</span>;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style=" color:#c0c0c0;">    </span><span style=" color:#808000;">double</span><span style=" color:#c0c0c0;"> </span><span style=" color:#092e64;">miX</span><span style=" color:#c0c0c0;"> </span>=<span style=" color:#c0c0c0;"> </span>-<span style=" color:#000080;">17.4042</span>;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style=" color:#c0c0c0;">    </span><span style=" color:#808000;">double</span><span style=" color:#c0c0c0;"> </span><span style=" color:#092e64;">miY</span><span style=" color:#c0c0c0;"> </span>=<span style=" color:#c0c0c0;"> </span><span style=" color:#000080;">35.3333</span>;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style=" color:#c0c0c0;">    </span><span style=" color:#800080;">OGRSpatialReference</span><span style=" color:#c0c0c0;"> </span><span style=" color:#092e64;">theirReference</span>;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style=" color:#c0c0c0;">    </span><span style=" color:#092e64;">theirReference</span>.<span style=" color:#00677c;">importFromWkt</span>((<span style=" color:#808000;">char</span>**)&<span style=" color:#092e64;">their</span>);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style=" color:#c0c0c0;">    </span><span style=" color:#800080;">OGRSpatialReference</span><span style=" color:#c0c0c0;"> </span><span style=" color:#092e64;">ourReference</span>;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style=" color:#c0c0c0;">    </span><span style=" color:#092e64;">ourReference</span>.<span style=" color:#00677c;">importFromProj4</span>(<span style=" color:#092e64;">our</span>);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style=" color:#c0c0c0;">    </span><span style=" color:#800080;">OGRCoordinateTransformation</span><span style=" color:#c0c0c0;"> </span>*<span style=" color:#092e64;">trans</span><span style=" color:#c0c0c0;"> </span>=<span style=" color:#c0c0c0;"> </span><span style=" color:#00677c;">OGRCreateCoordinateTransformation</span>(&<span style=" color:#092e64;">theirReference</span>,<span style=" color:#c0c0c0;"> </span>&<span style=" color:#092e64;">ourReference</span>);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style=" color:#c0c0c0;">    </span><span style=" color:#092e64;">trans</span>-><span style=" color:#00677c;">Transform</span>(<span style=" color:#000080;">1</span>,<span style=" color:#c0c0c0;"> </span>&<span style=" color:#092e64;">miX</span>,<span style=" color:#c0c0c0;"> </span>&<span style=" color:#092e64;">miY</span>);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><br></pre>
in the version build against GDAL 3.4.1/PROJ6 this code results in swapping miX and miY (i.e. miX = 35.3333 and miY = -17.4042)
<p></p>
<p>The version build against GDAL 2.1.3/PROJ4 leaves miX and miY unchanged, which I believe is correct.</p>
<p><br>
</p>
<p>Any explanation for this behavior and which one is correct? Would I get the same result using PROJ8 ?</p>
<p><br>
</p>
<p>Thanks in advance</p>
<p>Philippe Lelong</p>
<p><br>
</p>
<p><br>
</p>
</div>
</body>
</html>