Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Invalid request produced by WCS 1.0.0 test wcs1-0-0:getcoverage_operations-getcoverage_response-encoding-supportedFormats #56

Closed
robinhoutmeyers opened this issue Nov 22, 2023 · 6 comments · Fixed by #57
Assignees
Projects
Milestone

Comments

@robinhoutmeyers
Copy link

robinhoutmeyers commented Nov 22, 2023

The assertion of the test is "A valid getCoverage response is returned for each of the supportedFormats.". For this purpose, it first performs a DescribeCoverage request. It then sends a GetCoverage request for one of the coverages. However, the GetCoverage request received from the test engine is wrong, because it contains a space:

LuciadOGCServices/wcs100?&CoVeRaGe=usa&HeIgHt=100&CrS=EPSG:4326 urn:ogc:def:crs:OGC:1.3:CRS84&ReQuEsT=GetCoverage&BbOx=-168.1,13.0,-60.099999999999994,75.0&FoRmAt=GeoTIFF&WiDtH=200&SeRvIcE=WCS&VeRsIoN=1.0.0

Note the two values in the CRS parameter and the space between them.

The DescribeCoverage responses looks as follows

<CoverageDescription xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                     version="1.0.0"
                     xsi:schemaLocation="http://www.opengis.net/wcs http://84.193.120.58:8080/LuciadOGCServices/schemas/wcs/1.0.0/describeCoverage.xsd">
               <CoverageOffering>
                  <description>null</description>
                  <name>usa</name>
                  <label>usa</label>
                  <lonLatEnvelope>
                     <gml:pos>-168.1 13.0</gml:pos>
                     <gml:pos>-60.099999999999994 75.0</gml:pos>
                  </lonLatEnvelope>
                  <domainSet>
                     <spatialDomain>
                        <gml:Envelope srsName="EPSG:4326">
                           <gml:pos>-168.1 13.0</gml:pos>
                           <gml:pos>-60.099999999999994 75.0</gml:pos>
                        </gml:Envelope>
                        <gml:Envelope srsName="urn:ogc:def:crs:OGC:1.3:CRS84">
                           <gml:pos>-168.1 13.0</gml:pos>
                           <gml:pos>-60.099999999999994 75.0</gml:pos>
                        </gml:Envelope>
                        <gml:RectifiedGrid dimension="2" srsName="urn:ogc:def:crs:OGC:1.3:CRS84">
                           <gml:limits>
                              <gml:GridEnvelope>
                                 <gml:low>0 0</gml:low>              
                                 <gml:high>1295 743</gml:high>            
                              </gml:GridEnvelope>
                           </gml:limits>
                           <gml:axisName>x</gml:axisName>
                           <gml:axisName>y</gml:axisName>
                           <gml:origin>
                              <gml:pos>-168.05833333333334 74.95833333333333</gml:pos>
                           </gml:origin>
                           <gml:offsetVector>0.08333333333333333 0.0</gml:offsetVector>
                           <gml:offsetVector>0.0 -0.08333333333333333</gml:offsetVector>
                        </gml:RectifiedGrid>
                     </spatialDomain>
                  </domainSet>
                  <rangeSet>
                     <RangeSet>
                        <name>usa</name>
                        <label>usa</label>
                        <nullValues>
                           <singleValue>35</singleValue>
                        </nullValues>
                     </RangeSet>
                  </rangeSet>
                  <supportedCRSs>
                     <requestCRSs>urn:ogc:def:crs:OGC:1.3:CRS84</requestCRSs>
                     <requestCRSs>EPSG:4326</requestCRSs>
                     <responseCRSs>urn:ogc:def:crs:OGC:1.3:CRS84</responseCRSs>
                  </supportedCRSs>
                  <supportedFormats>
                     <formats>GeoTIFF</formats>
                  </supportedFormats>
                  <supportedInterpolations>
                     <interpolationMethod>nearest neighbor</interpolationMethod>
                     <interpolationMethod>bilinear</interpolationMethod>
                  </supportedInterpolations>
               </CoverageOffering>
               <CoverageOffering>
                  <description>null</description>
                  <name>dc</name>
                  <label>dc</label>
                  <lonLatEnvelope>
                     <gml:pos>-77.12033405913915 38.811607758478395</gml:pos>
                     <gml:pos>-76.99460865503322 39.00446717890099</gml:pos>
                  </lonLatEnvelope>
                  <domainSet>
                     <spatialDomain>
                        <gml:Envelope srsName="EPSG:4326">
                           <gml:pos>-77.12033405913915 38.811607758478395</gml:pos>
                           <gml:pos>-76.99460865503322 39.00446717890099</gml:pos>
                        </gml:Envelope>
                        <gml:Envelope srsName="urn:ogc:def:crs:EPSG::3450">
                           <gml:pos>316393.8 4297995.0</gml:pos>
                           <gml:pos>326823.8 4319175.0</gml:pos>
                        </gml:Envelope>
                        <gml:RectifiedGrid dimension="2" srsName="urn:ogc:def:crs:EPSG::3450">
                           <gml:limits>
                              <gml:GridEnvelope>
                                 <gml:low>0 0</gml:low>              
                                 <gml:high>347 706</gml:high>            
                              </gml:GridEnvelope>
                           </gml:limits>
                           <gml:axisName>x</gml:axisName>
                           <gml:axisName>y</gml:axisName>
                           <gml:origin>
                              <gml:pos>316408.7856321839 4319160.021216407</gml:pos>
                           </gml:origin>
                           <gml:offsetVector>29.971264367816094 0.0</gml:offsetVector>
                           <gml:offsetVector>0.0 -29.957567185289957</gml:offsetVector>
                        </gml:RectifiedGrid>
                     </spatialDomain>
                  </domainSet>
                  <rangeSet>
                     <RangeSet>
                        <name>dc</name>
                        <label>dc</label>
                        <nullValues>
                           <singleValue>255</singleValue>
                        </nullValues>
                     </RangeSet>
                  </rangeSet>
                  <supportedCRSs>
                     <requestCRSs>urn:ogc:def:crs:EPSG::3450</requestCRSs>
                     <requestCRSs>EPSG:4326</requestCRSs>
                     <responseCRSs>urn:ogc:def:crs:EPSG::3450</responseCRSs>
                  </supportedCRSs>
                  <supportedFormats>
                     <formats>GeoTIFF</formats>
                  </supportedFormats>
                  <supportedInterpolations>
                     <interpolationMethod>nearest neighbor</interpolationMethod>
                     <interpolationMethod>bilinear</interpolationMethod>
                  </supportedInterpolations>
               </CoverageOffering>

Based on https://github.com/opengeospatial/ets-wcs10/blob/master/src/main/scripts/ctl/wcs.xml, the test uses the srsName value of the gml:Envelope of a coverage. However, there are 2 gml:Envelope elements, which is allowed according to https://schemas.opengis.net/wcs/1.0.0/describeCoverage.xsd. Hence, I suspect that the XSLT logic to determine the srsName cannot cope with this.

@dstenger dstenger self-assigned this Nov 23, 2023
@dstenger dstenger added this to To do in CITE via automation Nov 23, 2023
@dstenger
Copy link
Contributor

Thank you for reporting.
Your findings are comprehensible.
Do you have a test instance we can use to reproduce the behavior?

@dstenger dstenger moved this from To do to Waiting in CITE Nov 23, 2023
@dstenger dstenger moved this from Waiting to To do in CITE Dec 14, 2023
@robinhoutmeyers
Copy link
Author

@dstenger dstenger moved this from To do to In progress in CITE Dec 21, 2023
@dstenger dstenger removed their assignment Dec 21, 2023
@bpross-52n bpross-52n mentioned this issue Jan 25, 2024
@dstenger
Copy link
Contributor

@robinhoutmeyers We created a pull request fixing this problem. At the same time, we realized that test wcs1-0-0:getcoverage_operations-getcoverage_response-encoding-supportedFormats is not listed in the generated report of TEAM Engine (might be related to #23). Did you have the same problem?

@dstenger dstenger moved this from In progress to To verify in CITE Jan 25, 2024
@dstenger dstenger assigned dstenger and unassigned bpross-52n Jan 25, 2024
@dstenger dstenger added this to the 1.17 milestone Jan 26, 2024
@robinhoutmeyers
Copy link
Author

robinhoutmeyers commented Jan 29, 2024

@dstenger No, it did appear (as a failure) in my report; I just double-checked this.

@dstenger
Copy link
Contributor

@robinhoutmeyers Thanks for the feedback. We will release the fix in the coming days to Beta environment (as the test is not displayed in the report, it will not have a big effect on users; still, we will also update some dependencies).

Of course, you are welcome to already execute a test with branch issue#56.

dstenger added a commit that referenced this issue Jan 30, 2024
CITE automation moved this from To verify to Done Jan 30, 2024
@dstenger
Copy link
Contributor

dstenger commented Feb 1, 2024

@robinhoutmeyers The fix was merged to master branch and installed on Beta environment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
CITE
  
Done
Development

Successfully merging a pull request may close this issue.

3 participants