Ticket #2472 (closed defect: fixed)

Opened 5 years ago

Last modified 5 years ago

CRS in the DescribeCoverage response sent by a WCS 1.0.0 server is WGS84(DD), instead of EPSG

Reported by: nsavard Owned by: tomkralidis
Priority: normal Milestone: 5.2 release
Component: WCS Server Version: 5.0
Severity: normal Keywords: OGC,Cite,TEAM, LEGACY,WCS 1.0.0
Cc: sdlime, warmerdam

Description

This is a problem related to the WCS 1.0.0 OGC Test suites.

The test is wcs1-0-0/basic_service_elements/general_http_request_rules/6 found at  http://cite.opengeospatial.org/tsOGC/interface/ViewTestSource?testid=wcs1-0-0/basic_service_elements/general_http_request_rules/6&ts=0033&sesstype=OGC

The test engine sends a DescribeCoverage? request which returns the description of the first coverage. The envelope is given in both WGS84(DD) and EPSG:26915 CRS (see below). Then a second request is sent to the server by using the first CRS appearing in the DescribeCoverage? response. This CRS is captured by the test script engine. This makes MapServer returns the following exception:

<?xml version='1.0' encoding="ISO-8859-1" ?> <ServiceExceptionReport? version="1.2.0" xmlns=" http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/ogc  http://schemas.opengis.net//wms/1.1.1/OGC-exception.xsd"> <ServiceException? code="InvalidParameterValue?" locator="srs">msWCSGetCoverage(): WMS server error. Unsupported SRS namespace (only EPSG currently supported). </ServiceException> </ServiceExceptionReport>

MapServer only supports EPSG for now. To overcome this issue MapServer should return the coverage envelope with EPSG code first. What do you think?

Attachments

mapwcs.c.cite6.patch.txt Download (1.8 KB) - added by nsavard 5 years ago.
Patch to fix this issue

Change History

  Changed 5 years ago by nsavard

I forgot to include an example of the DescribeCoverage? response:

DescribeCoverage? response:

<domainSet> <spatialDomain> <gml:Envelope srsName="WGS84(DD)"> <gml:pos>-97.7071758865421 41.0324719184183</gml:pos> <gml:pos>-80.6778361148771 49.6650665681236</gml:pos> </gml:Envelope> <gml:Envelope srsName="EPSG:26915"> <gml:pos>159707 4597895</gml:pos> <gml:pos>1400207 5501395</gml:pos>

...

in reply to: ↑ description ; follow-up: ↓ 3   Changed 5 years ago by nsavard

  • cc sdlime, warmerdam added
  • owner changed from tomkralidis to tomkradilis

Replying to nsavard:

This is a problem related to the WCS 1.0.0 OGC Test suites. The test is wcs1-0-0/basic_service_elements/general_http_request_rules/6 found at  http://cite.opengeospatial.org/tsOGC/interface/ViewTestSource?testid=wcs1-0-0/basic_service_elements/general_http_request_rules/6&ts=0033&sesstype=OGC

Replied by Tom:

For some reason, I can't get to this URL (my OGC account u/p doesn't work either).

The test engine sends a DescribeCoverage? request which returns the description of the first coverage. The envelope is given in both WGS84(DD) and EPSG:26915 CRS (see below). Then a second request is sent to the server by using the first CRS appearing in the DescribeCoverage? response. This CRS is captured by the test script engine. This makes MapServer returns the following exception: <?xml version='1.0' encoding="ISO-8859-1" ?> <ServiceExceptionReport? version="1.2.0" xmlns=" http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/ogc  http://schemas.opengis.net//wms/1.1.1/OGC-exception.xsd"> <ServiceException? code="InvalidParameterValue?" locator="srs">msWCSGetCoverage(): WMS server error. Unsupported SRS namespace (only EPSG currently supported). </ServiceException> </ServiceExceptionReport> MapServer only supports EPSG for now. To overcome this issue MapServer should return the coverage envelope with EPSG code first. What do you think?

Replied by Tom: cc'ing Steve and Frank.

I get the same behaviour when I run (against trunk):

 http://devgeo.cciw.ca/cgi-bin/mapserv/ecows?service=WCS&version=1.0.0&re quest=DescribeCoverage?

WGS84(DD) is hardcoded in mapwcs.c for latLongEnvelope. I think the attached patch (for comment) would fix this issue. Unless there's an explicit reason why WGS84(DD) was used in the implementation.

Changed 5 years ago by nsavard

Patch to fix this issue

in reply to: ↑ 2   Changed 5 years ago by nsavard

WGS84(DD) is hardcoded in mapwcs.c for latLongEnvelope. I think >the attached patch (for comment) would fix this issue. Unless >there's an explicit reason why WGS84(DD) was used in the >implementation.

Replied by Steve:

When that code was written the were a few example instance/schema documents that I used aid in my interpretation of the standard. I suspect this came from one of those so I think it's ok to apply your patch.

  Changed 5 years ago by nsavard

  • status changed from new to closed
  • resolution set to fixed

Tom Kradilis submitted and applied the patch-- committed in r7281.

  Changed 5 years ago by tomkralidis

  • status changed from closed to reopened
  • resolution fixed deleted

  Changed 5 years ago by tomkralidis

  • owner changed from tomkradilis to tomkralidis
  • status changed from reopened to new

  Changed 5 years ago by tomkralidis

  • status changed from new to closed
  • resolution set to fixed

  Changed 5 years ago by warmerdam

Updated msautotest/wcs results to reflect this change in trunk (r7284).

I notice the fix was made only in trunk. If we are sufficiently confident in the fix perhaps we should push it into 5.0 branch today so it will appear in 5.0.1 too.

  Changed 5 years ago by tomkralidis

I've applied this to 5.0 branch in r7285

  Changed 5 years ago by tomkralidis

Frank: should I make the change you made in r7284 to msautotest in branch as well (asking this as a general rule as well as specific to this ticket)?

  Changed 5 years ago by warmerdam

Tom,

Yes, I believe you should. Backporting autotest changes is valuable when it ensures that the stable tests will continue to pass. It is less valuable when it would just add a new test.

IMHO

  Changed 5 years ago by tomkralidis

Thanks for the recommendation. Changes made in r7287

Note: See TracTickets for help on using tickets.