Vooraankondiging PDOK wil slimmere zoekmogelijkheden voor kaartgegevens

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), <=, => https://docs.ogc.org/is/21-065r2/21-065r2.html#rc_basic-cql2
advanced-comparison-operators LIKE, NOT LIKE, BETWEEN, NOT BETWEEN, IN, NOT IN http://www.opengis.net/spec/cql2/1.0/req/advanced-comparison-operators
case-insensitive-comparison CASI http://www.opengis.net/spec/cql2/1.0/req/case-insensitive-comparison
accent-insensitive-comparison ACCENTI http://www.opengis.net/spec/cql2/1.0/req/accent-insensitive-comparison
basic-spatial-functions S_INTERSECTS op punten en bbox'en http://www.opengis.net/spec/cql2/1.0/req/basic-spatial-functions
basic-spatial-functions-plus S_INTERSECTS op alle geometrieen (linestring, polygon, etc) http://www.opengis.net/spec/cql2/1.0/req/basic-spatial-functions-plus
spatial-functions S_CONTAINS, S_CROSSES, S_DISJOINT, S_EQUALS, S_OVERLAPS, S_TOUCHES, S_WITHIN http://www.opengis.net/spec/cql2/1.0/req/spatial-functions
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 http://www.opengis.net/spec/cql2/1.0/req/temporal-functions

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?