pycsw
pycsw copied to clipboard
how to transform a WMS/WFS iso19139 transferoption to record.geojson?
Description
Following the discussion at https://github.com/opengeospatial/ogcapi-records/issues/95, to capture enough detail on a association in record.geojson so a client is able to bind to the service advertised, we need some mapping from for example the iso19139 transfer-options model to a template+variables structure as suggested in record.geojson.
iso
<gmd:MD_DigitalTransferOptions>
<gmd:onLine>
<gmd:CI_OnlineResource>
<gmd:linkage>
<gmd:URL>https://service.pdok.nl/hwh/wsdiensteninspire/wms/v1_0?service=wms&request=getcapabilities</gmd:URL>
</gmd:linkage>
<gmd:protocol>
<gmx:Anchor xlink:href="http://www.opengis.net/def/serviceType/ogc/wms">OGC:WMS</gmx:Anchor>
</gmd:protocol>
<gmd:name>
<gco:CharacterString>kabel</gco:CharacterString>
</gmd:name>
<gmd:description>
<gmx:Anchor xlink:href="http://inspire.ec.europa.eu/metadata-codelist/OnLineDescriptionCode/accessPoint">accessPoint</gmx:Anchor>
</gmd:description>
</gmd:CI_OnlineResource>
</gmd:onLine>
record geojson
{
"rel": "map",
"type": "image/png",
"title": "Ozone map",
"href": "https://geo.woudc.org/ows?service=WMS&version=1.3.0&request=GetMap&crs={crs}&bbox={bbox}&layers=totalozone&width={width}&height={height}&format=image/png",
"templated": true,
"variables": {
"crs": {
"description": "...",
"type": "string",
"enum": [ "EPSG:4326", "EPSG:3857" ]
},
"bbox": {
"description": "...",
"type": "array",
"items": {
"type": "number",
"format": "double"
},
"minItems": 4,
"maxItems": 4
},
"width": {
"description": "...",
"type": "number",
"format": "integer",
"minimum": 600,
"maximum": 5000
},
"height": {
"description": "...",
"type": "number",
"format": "integer",
"minimum": 600,
"maximum": 5000
}
}
}
In general clients like qgis/openlayers will know how to interact with a wms, so i'm a bit reluctant to capture the full structure of a wms getmap into the record. A minimal requirement though is to capture the fact that the endpoint is a WMS and the relevant layer(s) at that endpoint. For which the current spec does not provide guidance. what do people think?