[MapServer-dev] OGC API Features: some failures in CITE tests
Jeff McKenna
jmckenna at gatewaygeomatics.com
Wed Oct 18 10:21:31 PDT 2023
Hi Jukka,
Can you file that as a docs ticket so I can tackle it?
https://github.com/MapServer/MapServer-documentation/issues thanks,
-jeff
On 2023-10-18 12:48 p.m., Rahkonen Jukka via MapServer-dev wrote:
> I cannot see that oga mode documented
> https://www.mapserver.org/ogc/ogc_api.html
>
> -Jukka-
>
> *Lähettäjä:* Lime, Steve D (MNIT) <steve.lime at state.mn.us>
> *Lähetetty:* keskiviikko 18. lokakuuta 2023 18.09
> *Vastaanottaja:* Seth G <sethg at geographika.co.uk>; Rahkonen Jukka
> <jukka.rahkonen at maanmittauslaitos.fi>; MapServer Devs
> <MapServer-dev at lists.osgeo.org>
> *Aihe:* RE: [MapServer-dev] OGC API Features: some failures in CITE tests
>
> There is an “oga_compliance_mode” metadata element already enabled (at
> the WEB level) that will throw an exception on requests w/extra
> parameters. --Steve
>
> *From:*MapServer-dev <mapserver-dev-bounces at lists.osgeo.org
> <mailto:mapserver-dev-bounces at lists.osgeo.org>> *On Behalf Of *Seth G
> via MapServer-dev
> *Sent:* Wednesday, October 18, 2023 5:15 AM
> *To:* Rahkonen Jukka <jukka.rahkonen at maanmittauslaitos.fi
> <mailto:jukka.rahkonen at maanmittauslaitos.fi>>; MapServer Devs
> <MapServer-dev at lists.osgeo.org <mailto:MapServer-dev at lists.osgeo.org>>
> *Subject:* Re: [MapServer-dev] OGC API Features: some failures in CITE tests
>
> **
>
> ------------------------------------------------------------------------
>
> Thanks Jukka for testing with the validator.
>
> The extra parameters issue has been discussed before - a major issue is
> that all cookie parameters are seen as request parameters. See [1] and
> [2]. I'm not sure if it has been addressed in pygeoapi which is the
> reference implementation. MapServer also uses parameters for
> runtime-subsitution so enforcing no extra parameters will break a lot of
> MapServer workflows.
>
> I think it was suggested adding a "strict" WEB METADATA item that would
> return a 400 error when extra parameters were encountered - this would
> allow tests to pass fo a particular server.
>
> What is the service meant to do with invalid geometry such as that
> polygon - throw an error?
>
> It would be good to open the other items as issues on GitHub to fix.
>
> Seth
>
> [1]
> https://lists.osgeo.org/pipermail/mapserver-dev/2021-September/016620.html <https://lists.osgeo.org/pipermail/mapserver-dev/2021-September/016620.html>
>
> [2]
> https://github.com/MapServer/MapServer/pull/6400#issuecomment-936458600
> <https://github.com/MapServer/MapServer/pull/6400#issuecomment-936458600>
>
> --
>
> web:https://geographika.net <https://geographika.net/> &
> https://mapserverstudio.net <https://mapserverstudio.net/>
>
> twitter: @geographika
>
> On Wed, Oct 18, 2023, at 9:21 AM, Rahkonen Jukka via MapServer-dev wrote:
>
> Hi,
>
> I used the OGC Teamengine for testing our OGCFeat demo at
> https://demo.mapserver.org/cgi-bin/mapserv/localdemo/ogcapi
> <https://demo.mapserver.org/cgi-bin/mapserv/localdemo/ogcapi>.
>
> The validator found a few issues:
>
> * Wrong http status code: returns 400, should be 200
>
> https://demo.mapserver.org/cgi-bin/mapserv/localdemo/ogcapi/collections/countries/items?bbox=177.0000000%2C65.0000000%2C-177.0000000%2C70.0000000 <https://demo.mapserver.org/cgi-bin/mapserv/localdemo/ogcapi/collections/countries/items?bbox=177.0000000%2C65.0000000%2C-177.0000000%2C70.0000000>
>
> * Some tests fail because the service returns invalid geometries.
> Mapserver actually works right but because of invalid topology
> the validator fails. For example a geometry of the France
> multipolygon, somewhere near the French Guiana is invalid due to
> duplicated vertices at POINT (-52.939657 2.124858). The BBOX in
> the test was BBOX= -1.5000000,50.0000000,1.5000000,53.0000000.
> There are other similar geometries showing self-intersection.
> * If query contains an unknown parameter then our server sends
> data, but it should error out and send a http 400 error.
>
> Test request:
> https://demo.mapserver.org/cgi-bin/mapserv/localdemo/ogcapi/collections/ocean-labels/items?unknownQueryParameter13515=1 <https://demo.mapserver.org/cgi-bin/mapserv/localdemo/ogcapi/collections/ocean-labels/items?unknownQueryParameter13515=1>
>
> * The Content-Crs header is missing when the request is using the
> default crs. Test query:
> https://demo.mapserver.org/cgi-bin/mapserv/localdemo/ogcapi/collections/ocean/items?f=json <https://demo.mapserver.org/cgi-bin/mapserv/localdemo/ogcapi/collections/ocean/items?f=json>
>
> I have looked at the extra parameter thing from the standard and
> from the discussions in the OGC GitHub. Notes from the research:
>
>
> The server SHALL respond with a response with the status code 400,
> if the request URI includes a query parameter that is not specified
> in the API definition. For omitting unknown “vendor specific”
> parameters is must be defined in the API as
>
> in: query
>
> name: vendorSpecificParameters
>
> schema:
>
> type: object
>
> additionalProperties: true
>
> style: form
>
> If a server wants to support vendor specific parameters, these have
> to be explicitly declared in the API definition. If OpenAPI is used
> to represent the API definition, a capability exists to allow
> additional parameters without explicitly declaring them. That is,
> parameters that have not been explicitly specified in the API
> definition for the operation will be ignored.
>
> With minor changes Mapserver could get the certificates for OGC API
> Features Core and CRS. But I wonder what to do with the demo
> service. The server that is used for the CITE tests must be
> available online. We could try to fix the existing Natural Earth
> data and service so that it sends topologically valid geometries.
> Another option would be to set up another service instance for CITE
> tests with some known valid datasets.
>
> -Jukka Rahkonen-
>
> _______________________________________________
>
> MapServer-dev mailing list
>
> MapServer-dev at lists.osgeo.org <mailto:MapServer-dev at lists.osgeo.org>
>
> https://lists.osgeo.org/mailman/listinfo/mapserver-dev
> <https://lists.osgeo.org/mailman/listinfo/mapserver-dev>
>
>
> _______________________________________________
> MapServer-dev mailing list
> MapServer-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/mapserver-dev
--
Jeff McKenna
GatewayGeo: Developers of MS4W, & offering MapServer Consulting/Dev
co-founder of FOSS4G
http://gatewaygeo.com/
More information about the MapServer-dev
mailing list