Re: [thredds] Providing data access to GIS users

Hi Ethan, Jay,

Below are my notes about problems with THREDDS WCS and ArcGIS when I last looked at the issue (about 6 mos ago). I'm not sure if there have been any recent changes in THREDDS or ArcGIS that may have addressed the problem yet. The link to a PDF at the bottom includes some screen snap shots from ESRI's ArcCatalog and ArcMap.

-Dave

        

        

        

        

-------- Original Message --------

 ArcMap is not correctly displaying coverages from a THREDDS WCS.  The
problem appears to be with differences in the DescribeCoverage response
in THREDDS compared to MapServer (ArcMap does display WCS coverages from
UMN MapServer).  Specifically the problem appears to be related to the
way the origin and offset vector are reported.

ArcMap appears to expect the origin of the Grid to be described in terms
of its upperleft corner with the offset vector described accordingly.

This is a DescribeCoverage response coming from MapServer (note origin
is upperleft corner; offset vector for y is negative):

<gml:RectifiedGrid dimension="2">
<gml:limits>
<gml:GridEnvelope>
<gml:low>0 0</gml:low>
<gml:high>21600 10800</gml:high>
</gml:GridEnvelope>
</gml:limits>
<gml:axisName>x</gml:axisName>
<gml:axisName>y</gml:axisName>
<gml:origin>
<gml:pos>-180.008333333335 90.008333369335</gml:pos>
</gml:origin>
<gml:offsetVector>0.01666666667 0</gml:offsetVector>
<gml:offsetVector>0 -0.01666666667</gml:offsetVector>
</gml:RectifiedGrid>

Currently the DescribeCoverage response from THREDDS contains the
following for the gml:RectifiedGrid (note origin is lowerleft corner;
offset vector for y is positive).

<gml:RectifiedGrid srsName="OGC:CRS84" dimension="2">
<gml:limits>
<gml:GridEnvelope>
<gml:low>0 0</gml:low>
<gml:high>21600 10800</gml:high>
</gml:GridEnvelope>
</gml:limits>
<gml:axisName>x</gml:axisName>
<gml:axisName>y</gml:axisName>
<gml:origin>
<gml:pos>-180.0 -90.0</gml:pos>
</gml:origin>
<gml:offsetVector>0.016666666666666666 0.0</gml:offsetVector>
<gml:offsetVector>0.0 0.016666666666666666</gml:offsetVector>
</gml:RectifiedGrid>
</spatialDomain>

This appears to cause ArcMap to formulate the following GetCoverage
request to THREDDS after parsing the DescribeCoverage response (as noted
by Kevin Sampson):

127.0.0.1 - - [12/Oct/2010:14:53:53 -0600] "GET
/thredds/wcs/test/ETOPO1_Ice_g_gmt4.nc?SERVICE=WCS&VERSION=1.0.0&REQUEST=GetCoverage&COVERAGE=z&FORMAT=GeoTIFF&BBOX=-180.008333333333,-89.975,-179.975,-90.0083333333333&WIDTH=2&HEIGHT=2&CRS=&INTERPOLATION=nearest%20neighbor
HTTP/1.1" 400 331

At which point THREDDS reports an exception:

<?xml version="1.0" encoding="UTF-8"?>
<ServiceExceptionReport xmlns="http://www.opengis.net/ogc"; version="1.2.0">
<ServiceException code="InvalidParameterValue" locator="BBOX">BBOX
[-180.008333333333,-89.975,-179.975,-90.0083333333333] minimum point
larger than maximum point.</ServiceException>
</ServiceExceptionReport>


Full report is available here:
https://sites.google.com/site/geointeropdemos/home/issues-with-thredds-wcs/WCS_Comments_NGDC_v1.1.pdf