[Geoserver-users] Issue with noValue in WCS coverageOfferings

Hi,

What really happens when you run gdalinfo is that it tries to capture a small image for further investigations.
The request is

GET /geoserver/wcs?SERVICE=WCS&VERSION=1.1.0&REQUEST=GetCoverage&IDENTIFIER=raster_example_20130208_113005_078&FORMAT=image%2Ftiff%3Bsubtype%3D%22geotiff%22&BOUNDINGBOX=-116.917,32.41666843,-116.75033333,32.5833351,urn:ogc:def:crs:EPSG::4326&RangeSubset=contents HTTP/1.1
Host: 193.175.162.189
Accept: */*
Accept-Encoding: gzip
Proxy-Connection: Keep-Alive

Geoserver does not like the request and it sends an error message which is

<?xml version="1.0" encoding="UTF-8"?>
<ows:ExceptionReport version="1.1.0"
  xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://193.175.162.189:80/geoserver/schemas/ows/1.1.0/owsAll.xsd&quot;
  xmlns:ows="http://www.opengis.net/ows/1.1&quot; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;&gt;
  <ows:Exception exceptionCode="NoApplicableCode">
    <ows:ExceptionText>java.lang.IllegalArgumentException: The specified dimensional parameter is non-positive.
The specified dimensional parameter is non-positive.</ows:ExceptionText>
  </ows:Exception>
</ows:ExceptionReport>

Reason for the failure seems to be in BOUNDINGBOX=-116.917,32.41666843,-116.75033333,32.5833351,urn:ogc:def:crs:EPSG::4326
Reverse the lon-lat coordinates into lat-lon, and the request works.

If Geoserver folks will tell that the GDAL WCS 1.1.0 request is wrong then you can try to get an answer to question b) by sending a question with this information into GDAL developer mailing list.

-Jukka Rahkonen-

-----Alkuperäinen viesti-----
Lähettäjä: Robert Kulawik [mailto:rob-news@anonymised.com]
Lähetetty: 8. helmikuuta 2013 13:29
Vastaanottaja: geoserver-users@lists.sourceforge.net
Aihe: [Geoserver-users] Issue with noValue in WCS coverageOfferings

Hi List,

i have a problem with noValue (or nullValue) entrys in Geoserver's WCS and i
don't found a solution for it yet.

I store a rasterfile, format ArcGrid, GeoTIFF and/or ErdasImg to Geoserver,
version 2.2.x, via REST interface and edit the coverage.xml to add some
missed entrys. So i expand among other the dimensions_node with a range
and novalue informations corresponding to the raster values, like:

  <dimensions>
    <coverageDimension>
      <name>GRAY_INDEX</name>
      <description>GridSampleDimension[-Infinity,Infinity]</description>
      <range>
        <min>0.0</min>
        <max>100.0</max>
      </range>
      <nullValues>
        <double>129.0</double>
      </nullValues>
    </coverageDimension>
  </dimensions>

My coverages are requested by a application using GDAL (v1.9.1). GDAL
reads the coverageOfferings (describeCoverage request) to get the raster
informations and compute something exluding the noValue regions in the
raster.

The issue ist now, when GDAL read the coverageOfferings in WCS 1.0.0, the
novalue (or nullValue) entrys are not delivered by Geoserver and GDAL can't
use it:
http://193.175.162.189/geoserver/wcs?request=DescribeCoverage&coverag
e=raster_example_20130208_113005_078&VERSION=1.0.0

in WCS 1.1.0 and 1.1.1 Geoserver delivers the noValues,
http://193.175.162.189/geoserver/wcs?request=DescribeCoverage&identifie
rs=raster_example_20130208_113005_078&VERSION=1.1.0
http://193.175.162.189/geoserver/wcs?request=DescribeCoverage&identifie
rs=raster_example_20130208_113005_078&VERSION=1.1.1

but GDAL can't use the 1.1.x version of WCS, when i specify the WCS version
to 1.1.x , e.g.
<WCS_GDAL>
  <ServiceURL>http://193.175.162.189/geoserver/wcs?&lt;/ServiceURL&gt;

<CoverageName>raster_example_20130208_113005_078</CoverageName>
  <Version>1.1.0</Version>
</WCS_GDAL>

GDAL can read the coverage offering with included novalues but cant open it:
C:\OSGeo4W\bin>gdalinfo wcs.xml
ERROR 1: java.lang.IllegalArgumentException: The specified dimensional
parameter is non-positive.
The specified dimensional parameter is non-positive.
gdalinfo failed - unable to open 'wcs.xml'.

Has someone a solution how i can
a) deliver novalues using the WCS 1.0.0 version in Geoserver or
b) teach GDAL to use Gerserver's WCS 1.1.x

Many thanks in advance
Robert

------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 and get the
hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

On Fri, Feb 8, 2013 at 1:08 PM, Rahkonen Jukka <jukka.rahkonen@anonymised.com86…> wrote:

Hi,

What really happens when you run gdalinfo is that it tries to capture a small image for further investigations.
The request is

GET /geoserver/wcs?SERVICE=WCS&VERSION=1.1.0&REQUEST=GetCoverage&IDENTIFIER=raster_example_20130208_113005_078&FORMAT=image%2Ftiff%3Bsubtype%3D%22geotiff%22&BOUNDINGBOX=-116.917,32.41666843,-116.75033333,32.5833351,urn:ogc:def:crs:EPSG::4326&RangeSubset=contents HTTP/1.1
Host: 193.175.162.189
Accept: /
Accept-Encoding: gzip
Proxy-Connection: Keep-Alive

Geoserver does not like the request and it sends an error message which is

<?xml version="1.0" encoding="UTF-8"?>

<ows:ExceptionReport version=“1.1.0”
xsi:schemaLocation=“http://www.opengis.net/ows/1.1 http://193.175.162.189:80/geoserver/schemas/ows/1.1.0/owsAll.xsd
xmlns:ows=“http://www.opengis.net/ows/1.1” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”>
<ows:Exception exceptionCode=“NoApplicableCode”>
ows:ExceptionTextjava.lang.IllegalArgumentException: The specified dimensional parameter is non-positive.
The specified dimensional parameter is non-positive.</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>

Reason for the failure seems to be in BOUNDINGBOX=-116.917,32.41666843,-116.75033333,32.5833351,urn:ogc:def:crs:EPSG::4326
Reverse the lon-lat coordinates into lat-lon, and the request works.

If Geoserver folks will tell that the GDAL WCS 1.1.0 request is wrong then you can try to get an answer to question b) by sending a question with this information into GDAL developer mailing list.

Yes, WCS 1.1 has swapped axis just like WFS 1.1.
See this table, it applies to WCS 1.1 as well:

http://docs.geoserver.org/latest/en/user/services/wfs/basics.html#axis-ordering

Given that as usual servers tend to implement axis swapping inconsistently (or not at all)
a probably wise move on the GDAL side would be to allow the user to manually
control which CRS to handle as swapped, and which not.

Cheers
Andrea

==
Our support, Your Success! Visit http://opensdi.geo-solutions.it for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


Hi Jukka, hi Andrea,

thank you for your fast answer.
I forgot the axis switching....

But i can't see how i can specify the request in GDAL to change the
order of coordinates or set a CRS type. Do you have any ideas?
I will ask this the GDAL guys.

Andrea, in Geoserver's WCS 1.0.0 coverageOffering there is no other way
to send the noValue informations? According to the WCS 1.0.0
describeCoverage.xsd it is possible in the RangeSatType beside the
axisDescription Tag.

Best Regards
Robert

Am 08.02.2013 14:06, schrieb Andrea Aime:

On Fri, Feb 8, 2013 at 1:08 PM, Rahkonen Jukka
<jukka.rahkonen@anonymised.com <mailto:jukka.rahkonen@anonymised.com>> wrote:

    Hi,

    What really happens when you run gdalinfo is that it tries to
    capture a small image for further investigations.
    The request is

    GET
    /geoserver/wcs?SERVICE=WCS&VERSION=1.1.0&REQUEST=GetCoverage&IDENTIFIER=raster_example_20130208_113005_078&FORMAT=image%2Ftiff%3Bsubtype%3D%22geotiff%22&BOUNDINGBOX=-116.917,32.41666843,-116.75033333,32.5833351,urn:ogc:def:crs:EPSG::4326&RangeSubset=contents
    HTTP/1.1
    Host: 193.175.162.189
    Accept: */*
    Accept-Encoding: gzip
    Proxy-Connection: Keep-Alive

    Geoserver does not like the request and it sends an error message
    which is

    <?xml version="1.0" encoding="UTF-8"?>
    <ows:ExceptionReport version="1.1.0"
      xsi:schemaLocation="http://www.opengis.net/ows/1.1
    http://193.175.162.189:80/geoserver/schemas/ows/1.1.0/owsAll.xsd&quot;
      xmlns:ows="http://www.opengis.net/ows/1.1&quot;
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;&gt;
      <ows:Exception exceptionCode="NoApplicableCode">
        <ows:ExceptionText>java.lang.IllegalArgumentException: The
    specified dimensional parameter is non-positive.
    The specified dimensional parameter is
    non-positive.</ows:ExceptionText>
      </ows:Exception>
    </ows:ExceptionReport>

    Reason for the failure seems to be in
    BOUNDINGBOX=-116.917,32.41666843,-116.75033333,32.5833351,urn:ogc:def:crs:EPSG::4326
    Reverse the lon-lat coordinates into lat-lon, and the request works.

    If Geoserver folks will tell that the GDAL WCS 1.1.0 request is
    wrong then you can try to get an answer to question b) by sending
    a question with this information into GDAL developer mailing list.

Yes, WCS 1.1 has swapped axis just like WFS 1.1.
See this table, it applies to WCS 1.1 as well:

http://docs.geoserver.org/latest/en/user/services/wfs/basics.html#axis-ordering

Given that as usual servers tend to implement axis swapping
inconsistently (or not at all)
a probably wise move on the GDAL side would be to allow the user to
manually
control which CRS to handle as swapped, and which not.

Cheers
Andrea

--

Our support, Your Success! Visit http://opensdi.geo-solutions.it for
more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------