Hi Philippe,

I think that the WCS 2.0 standard is probably the best and least ambiguous of 
all OGC W*S standards. However, the rule about mutually exclusive parameters is 
somewhat fuzzy. But it is similarly fuzzy in   WFS that also has mutually 
exclusive parameters, but no other advise about what should happen if client 
sends an invalid request than this: "Only one of a set of mutually exclusive 
parameters shall be specified in a KVP-encoded request"

I fear you are on your own when you decide what error to throw if the client 
sends 
&SCALEFACTOR=2.0&SCALEAXES=i(3.5),j(3.5),k(2.0&SCALESIZE=i(1000),j(1000),k(10)&SCALEEXTENT=i(10:20),j(20:30)

By the same you can decide what to do for an error that is not covered by the 
standard &SCALEFACTOR=2.0&SCALEFACTOR=3.0

If you want, you can run the CITE tests also locally with teamengine 
https://github.com/opengeospatial/teamengine. There are also Docker images but 
I have not used them. One seems to be here 
https://hub.docker.com/r/ogccite/teamengine-beta.

-Jukka Rahkonen-
________________________________________
Lähettäjä: Philippe Ghesquiere <[email protected]>
Lähetetty: Tiistai 20. tammikuuta 2026 16.41
Vastaanottaja: Rahkonen Jukka <[email protected]>
Kopio: MapServer Users <[email protected]>
Aihe: Re: [MapServer-users] WCS 2.0 : scaling extension and exceptions

Hi Jukka,Thanks for your comprehensive explanations.I agree that Mapserver is 
pretty close to be 100% OGC-compliant. My questions are a bit pedantic, because 
we have requirements for the application we develop to be OGC compliant. Your 
answers give me solid arguments to defend the fact that Mapserver (and our 
application) has a correct behaviour. And I will use them with our client :-)As 
of running the WCS 2.0 CITE tests against our application, I do not know if we 
can do it easily : it runs on private premises.Thanks for your helpPhilippeOn 
Tue, Jan 20, 2026 at 9:58 AM Rahkonen Jukka 
<[email protected]> wrote:Hi,I think that you are reading the 
scaling extension standard correctly and a valid GetCoverage request can 
contain only one of the four alternative scaling operator. What is not clear to 
me, not by the scaling extension nor by the WCS 2.0.1 core, is what error the 
server should give in such case.InvalidParameterValue error is defined in OGC 
Common standard to mean "Operation request contains an invalid parameter 
value". You are right that the scaling extension defines a more exact error 
message for invalid scaleFactor. It is wrong on the server side, but if the WCS 
client follows the OGC Common standard it should still not fail "Because a 
client may not always know what set of exceptionCode values are being used by a 
server, all clients should be coded to allow exceptionCode values that it does 
not recognize."I think I have been running the WCS 2.0 CITE tests 
https://github.com/opengeospatial/ets-wcs20 with MapServer a few years ago and 
I believe that some tests were failing. From GitHub I found only this 12 years 
old ticket, that is resolved https://github.com/MapServer/MapServer/pull/4737. 
If you want to run the CITE tests and create an issue into GitHub about the 
failures it would be nice. If your company would appreciate the OGC WCS 
Compliant tag, we would appreciate all help that you can offer for achieving 
it.Generally speaking I would say that despite probably not being fully 
complient, MapServer WCS 2.0 works well for us at the National Land Survey of 
Finland.-Jukka Rahkonen-________________________________________Lähettäjä: 
MapServer-users <[email protected]> käyttäjän Philippe 
Ghesquiere via MapServer-users <[email protected]> 
puolestaLähetetty: Perjantai 16. tammikuuta 2026 19.35Vastaanottaja: MapServer 
Users <[email protected]>Aihe: [MapServer-users] WCS 2.0 : 
scaling extension and exceptionsDear all,I am testing WCS 2.0 GetCoverage 
requests.I have some questions about the following requirements, concerning 
scaling extension (see OGC 12-039)1) Req 4 getCoverage-mutually-exclusiveA 
GetCoverage request containing a scaling operation shall contain exactly one 
of:Scal::scaleByFactor,Scal::scaleAxesByFactor,Scal::scaleToSize,and 
Scal::scaleToExtentIf a request contains more than one scaling operator, 
Mapserver does not complain and takes the first one it checks (see 
mapwcs20.cpp#L1097).Shouldn't it send an exception ?2) Req 18 
getCoverage-exception:When a WCS server encounters an error while evaluating a 
scaleFactor or scaleExtentparameter in a GetCoverage operation it shall return 
an exception report message chosenas indicated in Table 7 with a locator 
parameter value as specified in the right columnof Table 7 for each 
exceptionCode listed.Exception values in table 7 are : InvalidCoverageType, 
InvalidScaleFactor, InvalidExtent or ScaleAxisUndefinedIf a request contains a 
negative value for a scale factor, Mapserver returns an exception 
:<ows:Exception exceptionCode="InvalidParameterValue" locator="request">   
<ows:ExceptionText>msWCSParseRequest20_XMLGetCoverage(): WCS server error. 
Invalid scaleFactor '-0.2'.</ows:ExceptionText></ows:Exception>However, the 
exception type is InvalidParameterValue, which is not in table 7.Why doesn't it 
report the expected exception type : InvalidScaleFactor ?SincerelyPhilippeThe 
information in this e-mail is confidential. The contents may not be disclosed 
or used by anyone other than the addressee. Access to this e-mail by anyone 
else is unauthorised.If you are not the intended recipient, please notify 
Airbus immediately and delete this e-mail.Airbus cannot accept any 
responsibility for the accuracy or completeness of this e-mail as it has been 
sent over public networks. If you have any concerns over the content of this 
message or its Accuracy or Integrity, please contact Airbus immediately.All 
outgoing e-mails from Airbus are checked using regularly updated virus scanning 
software but you should take whatever measures you deem to be appropriate to 
ensure that this message and any attachments are virus free.The information in 
this e-mail is confidential. The contents may not be disclosed or used by 
anyone other than the addressee. Access to this e-mail by anyone else is 
unauthorised.If you are not the intended recipient, please notify Airbus 
immediately and delete this e-mail.Airbus cannot accept any responsibility for 
the accuracy or completeness of this e-mail as it has been sent over public 
networks. If you have any concerns over the content of this message or its 
Accuracy or Integrity, please contact Airbus immediately.All outgoing e-mails 
from Airbus are checked using regularly updated virus scanning software but you 
should take whatever measures you deem to be appropriate to ensure that this 
message and any attachments are virus free.
_______________________________________________
MapServer-users mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to