Geonovum / KP-APIs

26 stars 40 forks source link

huidige waarde <epsg:CommonMetadata> element nog correct? #620

Open WouterVisscher opened 10 months ago

WouterVisscher commented 10 months ago

In example-16 en example-17 in de Geospatial module wordt er aangegeven dat het opgevraagde GML object een epsg:CommonMetadata element moet bevatten met de waarde (xmlns:epsg="urn:x-ogp:spec:schema-xsd:EPSG:1.0:dataset).

https://github.com/Geonovum/KP-APIs/blob/784c0f100e2e70ccdc1c287b35bb46d6131a8400/API-strategie-modules/geospatial/crs.md?plain=1#L28

Als we kijken naar de "gangbare" URI's voor CRSs bijvoorbeeld https://www.opengis.net/def/crs/EPSG/0/28992 zien we dat er verwezen wordt naar (xmlns:epsg="urn:x-ogp:spec:schema-xsd:EPSG:2.3:dataset") Dit doet vermoeden dat er nieuwere EPSG datasets zijn. Wat ook het geval is, versie 1.0 lijkt tot 2019-09-19 actueel te zijn geweest waarna deze door een 2.0 is vervangen. En het 2.3 schema is vanaf 2023-09-23 de laatste/actueel versie.

Het lijkt mij dat deze regel mogelijk aangepast moet worden. Niet per se naar versie 2.3, gezien we dan waarschijnlijk na verloop van tijd weer tegenaan lopen.

lvdbrink commented 8 months ago

Dit is inderdaad een issue. Het gaat om regel:

/geo/crs-list: Provide a list of all CRSs that are supported by the API

How to test bij deze regel geeft o.a. aan dat

Validate that the CRS URIs return a GML document with an epsg:CommonMetadata element (xmlns:epsg="urn:x-ogp:spec:schema-xsd:EPSG:1.0:dataset).

Dit is opgenomen zodat geverifieerd wordt dat de CRSsen waarnaar verwezen wordt, ook daadwerkelijk een CRS definitie hebben - conform de GML standaard beschreven en op te halen.

Mogelijk gaat dit te ver. Te overwegen is of we deze validatie instructie kunnen afzwakken of laten vervallen.

Echter is de geo module werkgroep niet meer actief. @PB-GNM @strijm @sweco-nlgemo wat vinden jullie?

strijm commented 8 months ago

Om e.e.a. onderhoudbaar en toekomstbestendig te houden, is het idd. beter om de validatie op zo'n manier te herschrijven, dat het epsg:CommonMetadata element een geldige waarde moet bevatten (bv. xmlns:epsg="urn:x-ogp:spec:schema-xsd:EPSG:2.3:dataset"). Kortom, enigszins afzwakken door minder concreet te zijn, maar wel duidelijk aangeven wat er wordt verwacht. Dit maakt het voor DON overigens wel iets moeilijker te testen, want de waarde van het epsg:CommonMetadata element zal dan vergeleken moeten worden met een lijst van alle geldige waarden, de vraag is of er ergens zo'n lijst is? Als dat zo is, dan is het handig om de locatie(s) ook meteen te vermelden.

PB-GNM commented 8 months ago

Ik ben het eens met Mark. Als die lijst er niet online is, zou je dan niet kunnen beperken tot valideren met een soort wildcard op de plaats van het versienummer? Dan valideer je dus alleen op de aanwezigheid van "xmlns:epsg="urn:x-ogp:spec:schema-xsd:EPSG:*:dataset" zonder te kijken of het ingevulde versienummer bestaat.