Skip to content

Instantly share code, notes, and snippets.

@FrieseWoudloper
Last active July 5, 2018 06:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save FrieseWoudloper/b7cad022cb75ba531ebbececf5fc85db to your computer and use it in GitHub Desktop.
Save FrieseWoudloper/b7cad022cb75ba531ebbececf5fc85db to your computer and use it in GitHub Desktop.
CSW Nationaal Georegister (NGR)

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

Dublin Core 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&typeName=csw%3ARecord

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=gmd%3Ahttp%3A%2F%2Fwww.isotc211.org%2F2005%2Fgmd&typeName=gmd%3AMD_Metadata

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!

Hetzelfde request, maar dan ISO 19119:
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=AnyText%20LIKE%20%27%25water%25%27

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.

Het aantal 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=hits&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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment