opengeospatial / ets-wms13

Repository for the Exectutable Test Suite for WMS 1.3.0
Apache License 2.0
2 stars 4 forks source link

Unexpected GetFeatureInfo location used by the WMS server 1.3.0 test #76

Closed robinhoutmeyers closed 4 years ago

robinhoutmeyers commented 4 years ago

During WMS server 1.3.0 compliance testing of http://demo.luciad.com:8080/ComplianceLightspeedOGC2020/wms, I encountered 2 failures related to the handling of GetFeatureInfo requests; this happened with the tests "feature_count_default" and "feature_count_1". While investigating these failures, I noticed the following:

dstenger commented 4 years ago

@robinhoutmeyers Thank you for reporting. I transferred this issue to the ets-wms13 repository as your question is targeting this test suite.

@keshav-nangare Can you please take a look at the reported problem?

keshavnangare commented 4 years ago

@dstenger

Request: http://demo.luciad.com:8080/ComplianceLightspeedOGC2020/wms?&QuErY_LaYeRs=cite:BasicPolygons&I=60&LaYeRs=cite:BasicPolygons&StYlEs=&WiDtH=100&CrS=CRS:84&ReQuEsT=GetFeatureInfo&InFo_fOrMaT=text%2Fplain&BbOx=-2,2,2,6&HeIgHt=100&J=60&VeRsIoN=1.3.0&FoRmAt=image%2Fjpeg

I am able to reproduce this issue. According to my analysis, the above test request returns empty value in response so with that CDataParser is getting failed, so the above exception is thrown.

I have tried with another service with the same request parameter and it returned BasicPolygon details. Following are the request and response:

Request: http://cite.deegree.org/deegree-webservices-3.4.5/services/wms130?&QuErY_LaYeRs=cite:BasicPolygons&I=50&LaYeRs=cite:BasicPolygons&StYlEs=&WiDtH=100&CrS=CRS:84&ReQuEsT=GetFeatureInfo&InFo_fOrMaT=text%2Fplain&BbOx=-2,2,2,6&HeIgHt=100&J=50&VeRsIoN=1.3.0&FoRmAt=image%2Fjpeg

Response:

BasicPolygons:
  ID: 
  geometry: MULTIPOLYGON (((-2.000000 6.000000,1.000000 6.000000,1.000000 3.000000,-2.000000 3.000000,-2.000000 6.000000)))

Can you please confirm expected response for the above-mentioned test? As it currently returns an empty response.

robinhoutmeyers commented 4 years ago

Based on the above results, it seems the issue is due to the fact that the polygon is filled in the deegree service, so a selection inside the polygon is picked up appropriately:

http://cite.deegree.org/deegree-webservices-3.4.5/services/wms130?&QuErY_LaYeRs=cite:BasicPolygons&I=50&LaYeRs=cite:BasicPolygons&StYlEs=&WiDtH=100&CrS=CRS:84&ReQuEsT=GetMap&InFo_fOrMaT=text%2Fplain&BbOx=-2,2,2,6&HeIgHt=100&J=50&VeRsIoN=1.3.0&FoRmAt=image%2Fjpeg

The polygon in my service is unstyled; hence, a selection inside the polygon doesn't have any effect. Are these styling expectations expected and should we align with the deegree service? Or should the test suite not make any styling expectations and (for instance) choose a selection point on the polygon border instead?

dstenger commented 4 years ago

@robinhoutmeyers Why should a GetFeatureInfo request targeting the inside of a polygon not return a response with values if the polygon is not styled? The inside of the polygon is still part of the polygon.

robinhoutmeyers commented 4 years ago

@dstenger I understand your point but this can be unexpected from a user's point of view; for instance, when you are zoomed in on the inside of an unfilled polygon, it could be weird so suddenly have it selected when you click on the map (e.g. to select another feature). At least, this is feedback that we received from users in the past; I believe it make sense to consider an unfilled polygon only selectable through its border. In any case, I'll work around the issue by adding an appropriate fill style (similar to what the deegree service does).