<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Hi all,</p>
    <p>introducing (outing) myself as the coverage standard / WCS
      editor. <br>
    </p>
    To avoid the problems that other standards have with axis order,
    coverages contain the axis order explicitly, in the axisLabels
    attribute. Here an example:<br>
    <br>
            <gml:Envelope
    srsName=<a class="moz-txt-link-rfc2396E" href="http://www.opengis.net/def/crs/EPSG/0/4326">"http://www.opengis.net/def/crs/EPSG/0/4326"</a> <b>axisLabels="Lat
      Long"</b> uomLabels="deg deg" srsDimension="2"><br>
                <gml:lowerCorner>1 1</gml:lowerCorner><br>
                <gml:upperCorner>3 10</gml:upperCorner><br>
            </gml:Envelope><br>
    <br>
    The sequence in axisLabels is indicative. So it is not necessary to
    use GridFunctions for this purpose. My personal opinion is that such
    mechanisms are not optimal for fiddling with coordinate positions as
    they make it unnecessarily difficult to determine the final pixel
    position. This seems to be the case here as well. <br>
    <br>
    On a side note, GMLCOV (aka CIS) 1.0 carries along some burden from
    GML, the price for backwards compatibility. CIS 1.1 (just adopted)
    introduces a more orthogonal coverage model in addition [1]. Among
    others, it allows a very explicit modelling of the coordinate axes -
    see the examples.<br>
    <br>
    You may want to take notice of the public Coverages.DWG OGC Wiki
    [2], we try to provide useful information, and feedback / questions
    are possible, too.<br>
    <br>
    HTH,<br>
    Peter<br>
    <br>
    PS: I wonder why nobody just asked earlier by contacting me, or some
    list like the (open) coverages.dwg list [3].<br>
    <br>
    [1]
<a class="moz-txt-link-freetext" href="http://external.opengeospatial.org/twiki_public/pub/CoveragesDWG/CoveragesBigPicture/cis_1-1.zip">http://external.opengeospatial.org/twiki_public/pub/CoveragesDWG/CoveragesBigPicture/cis_1-1.zip</a><br>
    [2]
    <a class="moz-txt-link-freetext" href="http://external.opengeospatial.org/twiki_public/CoveragesDWG/WebHome">http://external.opengeospatial.org/twiki_public/CoveragesDWG/WebHome</a><br>
    [3] <a class="moz-txt-link-freetext" href="https://lists.opengeospatial.org/mailman/listinfo/coverages.wg">https://lists.opengeospatial.org/mailman/listinfo/coverages.wg</a><br>
    <br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 04/03/2017 02:32 PM, Rahkonen Jukka
      (MML) wrote:<br>
    </div>
    <blockquote
cite="mid:5c7f1db772a34b96aeb11c26c21e7878@C119S212VM022.msvyvi.vaha.local"
      type="cite">
      <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:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@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;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
span.Shkpostityyli17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 2.0cm 70.85pt 2.0cm;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:749354362;
        mso-list-type:hybrid;
        mso-list-template-ids:-1754501476 572559726 67829763 67829765 67829761 67829763 67829765 67829761 67829763 67829765;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-font-family:Calibri;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></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]-->
      <div class="WordSection1">
        <p class="MsoNormal">Cross posting intentionally. <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span lang="EN-US">TL;DR<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">I wonder if all projects
            under the OSGeo umbrella, starting from GDAL and Geoserver,
            could make a common agreement on not to use GridFunctions in
            GML coverages if they are not strictly needed. The other
            alternative would be to make all projects to support GML
            gridFunctions, and do it right.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Long story:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">I have been trying to
            understand how GML coverages are used in JPEG 2000 and in
            WCS services.  So far I have understood that coverages can
            be very complex and GMLCOV and next generation CIS
            specifications are complex so that even the most nasty
            coverage types can be modelled. What seems to be missing
            from the specifications is a simple and unified way to model
            simple coverages, like orthophotos.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Not surprisingly my pain
            started from latitude-longitude or Northing-Easting axis
            order of some coordinate systems. The GDAL source code in
            <a moz-do-not-send="true"
href="https://trac.osgeo.org/gdal/browser/trunk/gdal/gcore/gdaljp2metadata.cpp">https://trac.osgeo.org/gdal/browser/trunk/gdal/gcore/gdaljp2metadata.cpp</a>
            is prepared to handle georeferencign by looking at<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><!--[if !supportLists]--><span
            lang="EN-US"><span style="mso-list:Ignore">-<span
                style="font:7.0pt "Times New Roman"">         
              </span></span></span><!--[endif]--><span lang="EN-US">grid
            origin<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><!--[if !supportLists]--><span
            lang="EN-US"><span style="mso-list:Ignore">-<span
                style="font:7.0pt "Times New Roman"">         
              </span></span></span><!--[endif]--><span lang="EN-US">offset
            vectors<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><!--[if !supportLists]--><span
            lang="EN-US"><span style="mso-list:Ignore">-<span
                style="font:7.0pt "Times New Roman"">         
              </span></span></span><!--[endif]--><span lang="EN-US">EPSG
            database for handling the coordinate axis order in GML<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">At least in this place
            GDAL does not seem to be prepared in seeing gridFunctions
            which are defined in GML 3.2.1. With GridFunction it is
            possible to slide the starting point of the coverage with
            “startPoint”, change the order and direction of grid axes
            with “axisOrder” and define weird sequences for data points
"Linear"/"Boustrophedonic"/"Cantor-diagonal"/"Spiral"/"Morton"/"Hilbert"<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">With orthophoto
            coverages I believe that all cases could be handled with the
            default gridFunctions: startPoint at gml:Low, axisOrder +1
            +2, sequence rule “Linear”. As far as I have understood GDAL
            trusts that this is also what the other partners do.
            However, it seems that GeoServer developers have decided to
            handle the latitude-longitude axis flip in WCS 2.0.1 by
            changing the order of grid axis with a function instead of
            writing the offsetVectors to suit with the default +1 +2
            axis order.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><gml:coverageFunction><o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><gml:GridFunction><o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><gml:sequenceRule
            axisOrder="+2 +1">Linear</gml:sequenceRule><o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><gml:startPoint>0
            0</gml:startPoint><o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"></gml:GridFunction><o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"></gml:coverageFunction><o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">-Jukka Rahkonen-<o:p></o:p></span></p>
      </div>
      <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>
    <pre class="moz-signature" cols="80">-- 
Dr. Peter Baumann
 - Professor of Computer Science, Jacobs University Bremen
   <a class="moz-txt-link-abbreviated" href="http://www.faculty.jacobs-university.de/pbaumann">www.faculty.jacobs-university.de/pbaumann</a>
   mail: <a class="moz-txt-link-abbreviated" href="mailto:p.baumann@jacobs-university.de">p.baumann@jacobs-university.de</a>
   tel: +49-421-200-3178, fax: +49-421-200-493178
 - Executive Director, rasdaman GmbH Bremen (HRB 26793)
   <a class="moz-txt-link-abbreviated" href="http://www.rasdaman.com">www.rasdaman.com</a>, mail: <a class="moz-txt-link-abbreviated" href="mailto:baumann@rasdaman.com">baumann@rasdaman.com</a>
   tel: 0800-rasdaman, fax: 0800-rasdafax, mobile: +49-173-5837882
"Si forte in alienas manus oberraverit hec peregrina epistola incertis ventis dimissa, sed Deo commendata, precamur ut ei reddatur cui soli destinata, nec preripiat quisquam non sibi parata." (mail disclaimer, AD 1083)


</pre>
  </body>
</html>