Op deze plek bewaar ik mijn experimentjes met de Catalog Service for the Web (CSW) van het Nationaal Georegister (NGR).
De documentatie van PDOK vind je hier.
Ook handig: documentatie van GeoNetwork en deze site.
Het endpoint van de service is http://nationaalgeoregister.nl/geonetwork/srv/dut/csw?
Let op: er is ook een endpoint voor INSPIRE-services. Dat is http://nationaalgeoregister.nl/geonetwork/srv/dut/inspire?
De requests in dit document zijn URL encoded. Bij sommige requests is dit namelijk een vereiste, dus heb ik het maar voor alle gedaan. Met deze online tool kun je ze eenvoudig decoderen.
Een overzicht van wat de service aan functionaliteit te bieden heeft: http://nationaalgeoregister.nl/geonetwork/srv/dut/csw?request=GetCapabilities&service=CSW&version=2.0.2
In één request Dublin Core en ISO 19119 metadatamodel:
http://nationaalgeoregister.nl/geonetwork/srv/dut/csw?request=DescribeRecord&service=CSW&version=2.0.2&outputFormat=application%2Fxml&schemaLanguage=http%3A%2F%2Fwww.w3.org%2FXML%2FSchema&namespace=csw%3Ahttp%3A%2F%2Fwww.opengis.net%2Fcat%2Fcsw%2F2.0.2%2Cgmd%3Ahttp%3A%2F%2Fwww.isotc211.org%2F2005%2Fgmd%0A%0A&typeName=csw%3ARecord%2Cgmd%3AMD_Metadata
Metadata conform Dublin Core van datasets die over water gaan:
http://nationaalgeoregister.nl/geonetwork/srv/dut/csw?service=CSW&version=2.0.2&request=GetRecords&namespace=csw%3Ahttp%3A%2F%2Fwww.opengis.net%2Fcat%2Fcsw%2F2.0.2&resultType=results&outputSchema=http%3A%2F%2Fwww.opengis.net%2Fcat%2Fcsw%2F2.0.2&outputFormat=application%2Fxml&typeNames=csw%3ARecord&elementSetName=full&constraintLanguage=CQL_TEXT&constraint_language_version=1.1.0&constraint=AnyText%20LIKE%20%27%25water%25%27
Let op: als je geen maxRecords
specificeert, krijg je standaard maar 10 resultaten terug!
Het aantal datasets dat over water gaat:
http://nationaalgeoregister.nl/geonetwork/srv/dut/csw?service=CSW&version=2.0.2&request=GetRecords&namespace=csw%3Ahttp%3A%2F%2Fwww.opengis.net%2Fcat%2Fcsw%2F2.0.2&resultType=hits&outputSchema=http%3A%2F%2Fwww.opengis.net%2Fcat%2Fcsw%2F2.0.2&outputFormat=application%2Fxml&typeNames=csw%3ARecord&elementSetName=full&constraintLanguage=CQL_TEXT&constraint_language_version=1.1.0&constraint=AnyText%20LIKE%20%27%25water%25%27
Merk op dat de waarde van de parameter resultType
gewijzigd is.
Metadata van de eerste 100 datasets in de catalogus die over water gaan (dit duurt wel even...):
http://nationaalgeoregister.nl/geonetwork/srv/dut/csw?service=CSW&version=2.0.2&request=GetRecords&namespace=csw%3Ahttp%3A%2F%2Fwww.opengis.net%2Fcat%2Fcsw%2F2.0.2&resultType=results&outputSchema=http%3A%2F%2Fwww.opengis.net%2Fcat%2Fcsw%2F2.0.2&outputFormat=application%2Fxml&typeNames=csw%3ARecord&elementSetName=full&constraintLanguage=CQL_TEXT&constraint_language_version=1.1.0&constraint=AnyText%20LIKE%20%27%25water%25%27&maxRecords=100&startposition=1
Merk op dat de parameter maxRecords
en startPosition
zijn toegevoegd aan het request.
Alle datasets over water (meer dan drieduizend!) in één keer opvragen, lukt niet. Dan krijg je een time out.
Alle geldige domeinwaarden voor de parameter organisationName
:
http://nationaalgeoregister.nl/geonetwork/srv/dut/csw?service=CSW&version=2.0.2&request=GetDomain&PropertyName=organisationName
Aanvankelijk ging het fout, omdat ik het INSPIRE-endpoint had gebruikt:
http://nationaalgeoregister.nl/geonetwork/srv/dut/inspire?service=CSW&version=2.0.2&request=GetDomain&PropertyName=organisationName
Dan krijg je alleen maar INSPIRE-plichtige overheidsorganisaties. De afzonderlijke provincies worden niet genoemd, alleen de koepelorganisatie IPO.
De metadata van de datasets van de provincie Groningen:
http://nationaalgeoregister.nl/geonetwork/srv/dut/csw?service=CSW&version=2.0.2&request=GetRecords&namespace=gmd%3Ahttp%3A%2F%2Fwww.isotc211.org%2F2005%2Fgmd&resultType=results&outputSchema=http%3A%2F%2Fwww.isotc211.org%2F2005%2Fgmd&outputFormat=application%2Fxml&typeNames=gmd%3AMD_Metadata&elementSetName=full&constraintLanguage=CQL_TEXT&constraint_language_version=1.1.0&constraint=gmd%3AorganisationName%3D%27Provincie%20Groningen%27&maxRecords=300