PDOK werkt eraan om de OGC API Features (de standaard voor het ophalen bevragen van geografische data) verder te verbeteren uit te breiden met nieuwe mogelijkheden. Momenteel ondersteunt PDOK al drie delen van de standaard:
- Part 1 (de basis)
- Part 2 (coördinatenstelsels)
- Part 5 (schema’s en relaties)
Met de huidige basisversie kun je data beperkt filteren op deze drie manieren:
- Op een gebied (bounding box), bijvoorbeeld met ?bbox=1,4,6,3
- Op een specifieke waarde van een attribuut, zoals ?lokaal_id=abc
- Op een datum/tijd, bijvoorbeeld ?datetime=2020-09-20T20:00:00Z
Deze filters zijn beperkt. Er is behoefte aan veel meer mogelijkheden om gericht te zoeken in de data. PDOK gaat komend kwartaal de nieuwe filter mogelijkheden voor de datasets toepassen.
Meer filtermogelijkheden voor het dataproduct Features
De Features Part 3 specificatie biedt diverse filtermogelijkheden. In de conformances wordt per dataset zichtbaar welke classes zijn toegestaan. PDOK wil voor alle datasets 5 conformances gaan toepassen:
- basic-cql2
- advanced-comparison-operators
- case-insensitive-comparison
- accent-insensitive-comparison
- basic-spatial-functions
Een drietal conformance classes kunnen naar verwachting niet voor grote datasets beschikbaar worden gesteld. Dit zijn de basic- spatial functions plus, de spatial functions en de temporal functions. Wat niet wordt gerealiseerd zijn de array-functions, property-property, custom functions en arithmetic. In onderstaand overzicht zie je de mogelijke opties die ingesteld zijn per dataset. Kijk zelf bij de dataset wat dit voor jou kan betekenen.
| Conformence class | Operators / Functies | Link naar website |
|---|---|---|
| basic-cql2 | AND, OR, NOT, <, >, <> (Not Equal), <=, => | Common Query Language (CQL2) |
| advanced-comparison-operators | LIKE, NOT LIKE, BETWEEN, NOT BETWEEN, IN, NOT IN | Common Query Language (CQL2) |
| case-insensitive-comparison | CASI | Common Query Language (CQL2) |
| accent-insensitive-comparison | ACCENTI | Common Query Language (CQL2) |
| basic-spatial-functions | S_INTERSECTS op punten en bbox’en | Common Query Language (CQL2) |
| basic-spatial-functions-plus | S_INTERSECTS op alle geometrieen (linestring, polygon, etc) | Common Query Language (CQL2) |
| spatial-functions | S_CONTAINS, S_CROSSES, S_DISJOINT, S_EQUALS, S_OVERLAPS, S_TOUCHES, S_WITHIN | Common Query Language (CQL2) |
| temporal-functions | T_AFTER, T_BEFORE, T_DISJOINT, T_EQUALS, T_INTERSECTS, T_CONTAINS, T_DURING, T_FINISHEDBY, T_FINISHES, T_MEETS, T_METBY, T_OVERLAPPEDBY, T_OVERLAPS, T_STARTEDBY, T_STARTS | Common Query Language (CQL2) |
Uitdaging
De grootste datasets zoals de BGT, TOP10NL en DKK zijn mogelijk niet geschikt voor de complexe, spatial en temporele filters uit Part 3. Deze datasets worden binnen de mogelijkheden voorzien van extra filteropties.
Goed nieuws voor gebruikers
Part 3 wordt al ondersteund door QGIS (via CQL2 Text) en alle custom REST-clients die je zelf maakt. Programma’s zoals GDAL, ArcGIS en FME ondersteunen OGC API Features wel, maar nog niet het nieuwe Part 3.
Kortom:PDOK gaat komende tijd filtering configureren voor alle Features op het platform.
Uitleg of meer lezen?
- Voor uitleg van afkortingen en begrippen die gaan over webservices en OGC API’s, klik hier
- Meer info over organisatie en gebruik van PDOK, zie promo-film, factsheet, kracht van het dataportaal of rapportages
- Meer info over het ontsluiten van open data van de overheid inclusief handreiking