<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Hi,</p>
    <p>I think my issue is not strictly related. The problem I had was about the way the rotation angle is computed in WriteProjectionInfo() when the determinant of the geotransform is positive. 
</p>
    <p>Let's call det(GT) the determinant of the 2x2 sub-matrix of GT, without origin terms. In a standard case : GT[1] > 0  and GT[5] < 0   (Y axis downwards) and we have a negative determinant. Even when there is a rotation, it doesn't change the sign of the determinant and the formula to compute the rotation angle is good. However, when the determinant is positive (like when both spacing are positive), then the computation of the rotation angle has to be changed.</p>
    <p>I tried a fix for this specific part but it may not be robust for all cases :</p>
    <blockquote>
      <p><tt>--- gdal-2.2.1-orig/frmts/raw/envidataset.cpp  2017-06-23 14:18:43.000000000 +0200</tt><tt>
</tt><tt>+++ gdal-2.2.1/frmts/raw/envidataset.cpp   2017-07-17 18:28:05.521732123 +0200</tt><tt>
</tt><tt>@@ -620,10 +620,13 @@</tt><tt>
</tt><tt>         adfGeoTransform[4] != 0.0 || adfGeoTransform[5] != 1.0;</tt><tt>
</tt><tt>     if( bHasNonDefaultGT )</tt><tt>
</tt><tt>     {</tt><tt>
</tt><tt>+        const double dfDet = adfGeoTransform[1] * adfGeoTransform[5] -</tt><tt>
</tt><tt>+                             adfGeoTransform[2] * adfGeoTransform[4];</tt><tt>
</tt><tt>+        const double dfSign = (dfDet>0.0 ? 1.0 : -1.0);</tt><tt>
</tt><tt>         const double dfRotation1 =</tt><tt>
</tt><tt>-            -atan2(-adfGeoTransform[2], adfGeoTransform[1]) * kdfRadToDeg;</tt><tt>
</tt><tt>+            -atan2(dfSign * adfGeoTransform[2], adfGeoTransform[1]) * kdfRadToDeg;</tt><tt>
</tt><tt>         const double dfRotation2 =</tt><tt>
</tt><tt>-            -atan2(-adfGeoTransform[4], -adfGeoTransform[5]) * kdfRadToDeg;</tt><tt>
</tt><tt>+            -atan2(-adfGeoTransform[4], dfSign * adfGeoTransform[5]) * kdfRadToDeg;</tt><tt>
</tt><tt>         const double dfRotation = (dfRotation1 + dfRotation2) / 2.0;</tt><tt>
</tt><tt> </tt><tt>
</tt><tt>         if( fabs(dfRotation1 - dfRotation2) > 1e-5 )</tt><tt>
</tt><tt>@@ -1536,6 +1539,13 @@</tt><tt>
</tt><tt>     if( oSRS.GetRoot() == NULL )</tt><tt>
</tt><tt>         oSRS.SetLocalCS(papszFields[0]);</tt><tt>
</tt><tt> </tt><tt>
</tt><tt>+    // Arbitrary : assume that the Y axis isn't flipped</tt><tt>
</tt><tt>+    if( STARTS_WITH_CI(papszFields[0], "Arbitrary" ) )</tt><tt>
</tt><tt>+      {</tt><tt>
</tt><tt>+      adfGeoTransform[2] *= -1.0;</tt><tt>
</tt><tt>+      adfGeoTransform[5] *= -1.0;</tt><tt>
</tt><tt>+      }</tt><tt>
</tt><tt>+</tt><tt>
</tt><tt>     // Try to set datum from projection info line if we have a</tt><tt>
</tt><tt>     // projected coordinate system without a GEOGCS.</tt><tt>
</tt><tt>     if( oSRS.IsProjected() && oSRS.GetAttrNode("GEOGCS") == NULL</tt>
</p>
    </blockquote>
    <p>
</p>
    <p>Guillaume
</p>
    <br>
    <div class="moz-cite-prefix">On 07/19/2017 12:03 AM, Even Rouault
      wrote:<br>
    </div>
    <blockquote cite="mid:2347818.ODFknMN6pO@even-i700" type="cite">
      <meta name="qrichtext" content="1">
      <style type="text/css">
p, li { white-space: pre-wrap; }
</style>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">On mardi 18 juillet 2017 14:45:31 CEST Kevin B. McCarty wrote:</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> Hi Even,</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> On Tue, Jul 18, 2017 at 1:28 PM, Even Rouault</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> <a class="moz-txt-link-rfc2396E" href="mailto:even.rouault@spatialys.com"><even.rouault@spatialys.com></a> wrote:</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> > Did you check that the georeferencing in a GDAL based software (QGIS for</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> > example, or maybe by just running gdalwarp to get a north-up oriented</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> > output image) with your above proposed fix is consistant with the one you</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> > get in ENVI software ?</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> I've created a pretty artificial .hdr file that exhibits rotation</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> together with xpixelsize != ypixelsize.  Here it is: (cut-and-paste it</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> somewhere and name it to dum.hdr)</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> ENVI</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> samples = 10</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> lines   = 20</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> bands   = 1</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> header offset = 0</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> file type  = ENVI Standard</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> data type  = 1</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> interleave = bsq</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> byte order = 0</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> map info = { UTM, 1, 1, 200, 200, 25, 12.5,</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">>              30, North, WGS-84, units=Meters, rotation=45 }</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> Note that the local X size (sample count) is 10 pixels and local Y</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> size (line count) is 20 pixels; but since the local X pixel width is</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> twice the local Y pixel width, the image in world coordinates should</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> be a square of 250 meters on each side, rotated 45 degrees from due</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> north about its upper left (in pixel-space) corner.</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> You can create an accompanying .bsq file for this .hdr file with the</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> following Unix command, or via any other mechanism that creates a file</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> having at least 200 bytes (exact contents don't matter):</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">>   dd if=/dev/zero of=./dum.bsq bs=200 count=1</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> Here is what gdal 2.2.1 gdalinfo reports for the corners of dum.bsq</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> [that I claim is erroneous]:</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> Upper Left  (     200.000,     200.000) (  7d29'13.03"W,  0d 0' 6.49"N)</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> Lower Left  (     553.553,      23.223) (  7d29' 1.62"W,  0d 0' 0.75"N)</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> Upper Right (     376.777,     288.388) (  7d29' 7.33"W,  0d 0' 9.36"N)</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> Lower Right (     730.330,     111.612) (  7d28'55.92"W,  0d 0' 3.62"N)</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> Center      (     465.165,     155.806) (  7d29' 4.48"W,  0d 0' 5.06"N)</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> Here is what it reports for the same input after my suggested fix for</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> the transform matrix calculation:</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> Upper Left  (     200.000,     200.000) (  7d29'13.03"W,  0d 0' 6.49"N)</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> Lower Left  (     376.777,      23.223) (  7d29' 7.33"W,  0d 0' 0.75"N)</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> Upper Right (     376.777,     376.777) (  7d29' 7.33"W,  0d 0'12.23"N)</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> Lower Right (     553.553,     200.000) (  7d29' 1.62"W,  0d 0' 6.49"N)</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> Center      (     376.777,     200.000) (  7d29' 7.33"W,  0d 0' 6.49"N)</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> If you view these two sets of five world coordinates each in your</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> favorite map program, you can see that the former coordinates make the</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> corners and center of a long thin parallelogram, whereas the latter</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> coordinates form a 45-degree rotated square as expected.  And for the</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> latter set of coordinates, the difference between min and max X</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> coordinates, and between min and max Y coordinates, is sqrt(2) * 250</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> as expected.</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> I've also tried some tests with our own (proprietary) software using</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> each of the vanilla GDAL 2.2.1 .so file, and the version with my fix,</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> in turn.</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> I've not tried as hard to verify my suggested fixes to computation of</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> adfGeoTransform elements [0] and [3], since they are smaller in effect</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> and only apply to files that are both rotated and in which the</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> reference X and/or Y pixels are other than one, which are probably</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> rare.  But it seems clear to me that some change to elements [0] and</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> [3] of this sort is needed in that (obscure) case.</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> > I've just left a message to the original author of ENVI rotation read</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> > support in:</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> > </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> > <a class="moz-txt-link-freetext" href="https://github.com/OSGeo/gdal/pull/197#issuecomment-316185610">https://github.com/OSGeo/gdal/pull/197#issuecomment-316185610</a></p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> OK, thank you!</p>
      <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">If we don't get feedback from him, please create a ticket about the issue with your changes, or a pull request at your convenience. Fixes in the writing side would be appreciated too. I guess the envi_15() test in autotest/gdrivers/envi.py will probably need some adaptations.</p>
      <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Even</p>
      <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">-- </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Spatialys - Geospatial professional services</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><a class="moz-txt-link-freetext" href="http://www.spatialys.com">http://www.spatialys.com</a></p>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
gdal-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/gdal-dev">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a></pre>
    </blockquote>
    <br>
    <div class="moz-signature">-- <br>
      <table border="0" cellpadding="0" cellspacing="0">
        <tbody>
          <tr>
            <td> <a href="www.c-s.fr" hreflang="fr"><img
                  src="cid:part1.FACF5511.3D4DD877@c-s.fr" alt=""
                  border="0" align="left"></a> </td>
            <td> <font face="verdana" size="1"> <b>Guillaume PASERO</b><br>
                Responsable technique<br>
                <b>Business Unit ESPACE & GeoInformation -
                  Département Payload Data & Applications</b><br>
                <br>
                <b>CS Systèmes d'Information</b><br>
                Parc de la Grande Plaine - 5, Rue Brindejonc des
                Moulinais - BP 15872<br>
                31506 Toulouse Cedex 05 - FRANCE<br>
                +33 561 17 64 21 - <a class="moz-txt-link-freetext"
                  href="mailto:guillaume.pasero@c-s.fr">guillaume.pasero@c-s.fr</a>
              </font></td>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>