[gdal-dev] GML lat-lon coverages and interoperability

Even Rouault even.rouault at spatialys.com
Mon Apr 3 13:03:06 PDT 2017


On lundi 3 avril 2017 13:19:18 CEST Rahkonen Jukka (MML) wrote:
> Great, first hit from Andrea. I am awaiting if Even strikes back. 

I don't really have an opinion on this. I haven't read the relevant part of the GML or GMLCOV 
spec and I'm afraid I wouldn't understand it well. The GDAL GMLJP2 code just follows what 
the GMLJP2 spec and examples suggest, as well as data productions. Perhaps it is not 
"correct"...

> His
> creation (GDAL JP2OpenJPEG driver) writes out EPSG:4326 coverage into GML
> JP2 this way, without having gridFunction.
 
> <gml:FeatureCollection
>    xmlns:gml="http://www.opengis.net/gml"
>    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>    xsi:schemaLocation="http://www.opengis.net/gml
> http://schemas.opengis.net/gml/3.1.1/profiles/gmlJP2Profile/1.0.0/gmlJP2Pro
> file.xsd">
 <gml:boundedBy>
>     <gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326">
>       <gml:lowerCorner>61.7282236395245 24.7248340978191</gml:lowerCorner>
>       <gml:upperCorner>61.7838827490233 24.8422668729657</gml:upperCorner>
>     </gml:Envelope>
>   </gml:boundedBy>
>   <gml:featureMember>
>     <gml:FeatureCollection>
>       <gml:featureMember>
>         <gml:RectifiedGridCoverage dimension="2" gml:id="RGC0001">
>           <gml:rectifiedGridDomain>
>             <gml:RectifiedGrid dimension="2">
>               <gml:limits>
>                 <gml:GridEnvelope>
>                   <gml:low>0 0</gml:low>
>                   <gml:high>15517 7354</gml:high>
>                 </gml:GridEnvelope>
>               </gml:limits>
>               <gml:axisName>x</gml:axisName>
>               <gml:axisName>y</gml:axisName>
>               <gml:origin>
>                 <gml:Point gml:id="P0001"
> srsName="urn:ogc:def:crs:EPSG::4326">
 <gml:pos>61.7838789652633
> 24.7248378815791</gml:pos> </gml:Point>
>               </gml:origin>
>               <gml:offsetVector srsName="urn:ogc:def:crs:EPSG::4326">0
> 7.56751998624388e-006</gml:offsetVector>
 <gml:offsetVector
> srsName="urn:ogc:def:crs:EPSG::4326">-7.56751998624388e-006
> 0</gml:offsetVector> </gml:RectifiedGrid>
>           </gml:rectifiedGridDomain>
>           <gml:rangeSet>
>             <gml:File>
>               <gml:rangeParameters/>
>               <gml:fileName>gmljp2://codestream/0</gml:fileName>
>               <gml:fileStructure>Record Interleaved</gml:fileStructure>
>             </gml:File>
>           </gml:rangeSet>
>         </gml:RectifiedGridCoverage>
>       </gml:featureMember>
>     </gml:FeatureCollection>
>   </gml:featureMember>
> </gml:FeatureCollection>
> 
> -Jukka-
> 
> Lähettäjä: andrea.aime at gmail.com [mailto:andrea.aime at gmail.com] Puolesta
> Andrea Aime
 Lähetetty: 3. huhtikuuta 2017 15:58
> Vastaanottaja: Rahkonen Jukka (MML) <jukka.rahkonen at maanmittauslaitos.fi>
> Kopio: 'gdal-dev at lists.osgeo.org' (gdal-dev at lists.osgeo.org)
> <gdal-dev at lists.osgeo.org>; geoserver-devel at lists.sourceforge.net
 Aihe:
> Re: [gdal-dev] GML lat-lon coverages and interoperability
> 
> On Mon, Apr 3, 2017 at 2:32 PM, Rahkonen Jukka (MML)
> <jukka.rahkonen at maanmittauslaitos.fi<mailto:jukka.rahkonen at maanmittauslaito
> s.fi>> wrote:
 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. 
> <gml:coverageFunction>
> <gml:GridFunction>
> <gml:sequenceRule axisOrder="+2 +1">Linear</gml:sequenceRule>
> <gml:startPoint>0 0</gml:startPoint>
> </gml:GridFunction>
> </gml:coverageFunction>
> 
> Hi Jukka,
> the decision was not arbitrary, and imho, necessary.
> 
> Rasters pixels are normally represented as east/north, but OGC forces us to
> describe geographic data in lat/lon order.
 So how do you tell the client,
> "look, I'm telling you that the axis order is north/east, but really, I'm
> giving you back data in east/north order instead"? 
> Cheers
> Andrea
> 
> --
> ==
> GeoServer Professional Services from the experts! Visit
> http://goo.gl/it488V for more information.
> ==
> 
> Ing. Andrea Aime
> @geowolf
> Technical Lead
> 
> GeoSolutions S.A.S.
> Via di Montramito 3/A
> 55054  Massarosa (LU)
> phone: +39 0584 962313
> fax: +39 0584 1660272
> mob: +39  339 8844549
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20170403/366f0cb6/attachment-0001.html>


More information about the gdal-dev mailing list