Cross posting intentionally.
TL;DR
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.
Long story:
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.
Not surprisingly my pain started from latitude-longitude or Northing-Easting
axis order of some coordinate systems. The GDAL source code in
https://trac.osgeo.org/gdal/browser/trunk/gdal/gcore/gdaljp2metadata.cpp is
prepared to handle georeferencign by looking at
- grid origin
- offset vectors
- EPSG database for handling the coordinate axis order in GML
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"
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>
-Jukka Rahkonen-
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel