BGT Features (OGC API) zijn nu ook beschikbaar

Na de succesvolle lancering van de BGT Vector Tiles in 2023 (OGC API Tiles), lanceren PDOK en de Basisregistratie Grootschalige Topografie (BGT) met trots nu ook de BGT via Features (OGC API).

Meteen kennismaken met de BGT Features?

De OGC API Tiles en Features zijn in één en dezelfde API (landingspagina) beschikbaar via een nieuwe URL: https://api.pdok.nl/lv/bgt/ogc/v1. De URL-wijziging wordt overigens ingegeven door de API-richtlijn van de Nederlandse overheid.

De huidige API komt hiermee na de gebruikelijke 6 maanden te vervallen, gebruikers van de BGT Vectortiles wordt verzocht om de nieuwe URL te gebruiken.

Wat zijn OGC API Features?

Eén van de voordelen van de OGC API’s is dat het gebaseerd is op moderne REST API ’s en daarmee aansluit bij wereldwijde standaarden. Specifieke geo-kennis of het gebruik van een GIS-applicatie zijn niet nodig om gedetailleerde feature informatie uit de data te gebruiken. De API voldoet aan de OGC specificaties en realiseert de Features part 1 en 2. Complexe filtering (part 3) is nog niet beschikbaar.

Meer informatie over OGC API’s is te vinden op de website van PDOK of lees de FAQ.

Waar kan je de BGT Features vinden?

De BGT Features zijn te vinden via de PDOK dataset pagina, door direct naar de landingspagina te navigeren of de OpenAPI specificatie te raadplegen. Via de BGT productenpagina is aanvullende informatie te vinden over de Vectortiles, de Features en andere BGT-producten.

Gebruik je de landingspagina als startpunt? Dan vind je daar aanvullende metadata waaronder een verwijzing naar het Nationaal Georegister. Via de landingspagina zie je in één oogopslag alle relevante productinformatie zoals de al genoemde OpenAPI specificatie API, de conformiteitsklassen via de conformance API, en de Features via de collections API.

De al eerder gelanceerde BGT Vectortiles, maar nu onder een nieuw versienummer, zijn via de gebruikelijke weg te vinden via de Tiles, Styles en Tilematrix Sets.

Wat bevat de BGT Features?

De BGT Features (OGC API) biedt de mogelijkheid om specifieke objecten (features) van de BGT op te vragen (downloaden) op basis van bijvoorbeeld een interessegebied (boundingbox) of op basis van een ID (Lokaal_id). Per keer kun je maximaal 1.000 features opvragen en met cursor pagineren kun je steeds de volgende 1.000 features ophalen.

De BGT Features (OGC API) bevat de complete BGT inclusief historie. Dit betekent dat bij het bevragen van data hiermee rekening gehouden moet worden. Het is mogelijk om de volledige historie van één of meerdere objecten van de BGT op te vragen, of door het geven van een peildatum de stand van één of meerdere features per die datum op te vragen.

Kenmerken op een rij:

  • dagelijks (voor 12:00) bijgewerkte data te gebruiken.
  • data in diverse projecties (RD, Webmercator en ETRS89) te gebruiken.
  • data via een selectie (BBOX) te bevragen.
  • maximaal 1.000 objecten per bevraging te ontvangen en te cursor pagineren.
  • te filteren op peildatum en/of op ID.
  • gemakkelijk een bevraging te delen via een (deep-)link.
  • diverse formaten (GEOJSON, JSON, JSON-FG en HTML) te gebruiken.

BGTAPI_1 BGTAPI_2

Toekomstige ambitie

PDOK werkt continu aan verbetering van het platform en de kwaliteit van de geleverde services en API’s.

Behalve de BGT, de BAG en de Bestuurlijke Gebieden heeft PDOK de ambitie om OGC API’s voor alle data-aanbieders beschikbaar te stellen. Hiervoor zal het platform voldoende geautomatiseerd moeten zijn en daarbij voldoen aan de gestelde performance- en kwaliteitscriteria.

Ook ontwikkelingen van de resterende OGC API specificaties zijn onderdeel van de toekomstige ambitie. Aankondiging van verbetering en vernieuwing vindt plaats via de gebruikelijke kanalen (website, attenderingservice, GeoForum en X (voorheen Twitter). Wil je snel op de hoogte zijn, maak dan gebruik van de attenderingservice en schrijf je in.

Deel je je ervaringen met ons via het GeoForum?

6 likes

Fantastisch! Ik ben er lekker mee bezig in QGIS om het bestaande ruimtegebruik binnen een bepaalde plangrens op te halen, maar loop tegen het volgende aan. Zonder datum-restrictie trek ik alle (historische) features binnen en heb ik bijv. van 1 pand 3 features die op elkaar liggen. Ik ben (op dit moment) alleen op zoek naar de meest recente features. Nou kan ik kijken naar features die nog geen eindregistartiedatum hebben (volgens mij…) dus het is op te lossen. Maar is dit ook mogelijk om initieel dit in de request te verwerken?

1 like

Volgens mij is dit probleem in een eerder issue besproken.
Ik gebruik in het request een datum (zonder de datetime krijg je alle historie):
https://api.pdok.nl/lv/bgt/ogc/v1?datetime=2039-01-01T00:00:00.000Z

1 like

Zonder peildatum (= datetime query parameter) krijg je inderdaad alle data, actueel en historisch. Met een recente peildatum krijg je alleen actuele data. Er zijn twee manieren om een peildatum in QGIS bij een OGC API Features op te geven:

Optie 1: vaste peildatum voor alle collecties/lagen

Door bij het maken van de connectie in de URL een datetime op te geven. In ISO 8601 formaat. Zoals @FKrijgsman al aangaf.

Optie 2: peildatum via filter per collectie/laag

Maak connectie met de API (zonder datetime) en selecteer een collectie. Ik kies hier voor wegdeel. Open het Filter scherm:

In de query builder kan je vervolgens een peildatum opgeven.

Let op: dit gedeelte werkt niet heel intuïtief in QGIS. Je wilt eigenlijk "datetime"='2024-10-07T00:00:00.000Z' opgeven. Want datetime is het universe filter in OGC API Features om op tijd (temporal) te filter. Maar QGIS kent het datetime veld niet, dat zit namelijk niet in een feature. Daarom moet je een willekeurig ander datum/tijd veld selecteren. Ik kies hier voor eind_registratie, maar je kan ook een ander datum/tijd veld kiezen. Vul vervolgens in: "eind_registratie"='2024-10-07T00:00:00.000Z' zoals aangegeven in onderstaande afbeelding.

Hoewel je eind_registratie hebt opgegeven gebruikt QGIS vervolgens wel de datetime query parameter in het verzoek naar de API:

Nu zie je alleen de actuele features. Kortom, het is ook mogelijk om in QGIS temporeel de OGC API Features te filteren, alleen de query builder werkt - naar mijn mening - wat tegenstrijdig op dit punt.

Hopelijk ben je hiermee geholpen.

1 like

Bedankt voor het antwoord! Geen idee waarom ik bij het testen alleen datums/data uit het verleden heb gepakt…

Bedankt voor de uitleg met screenshots, werkt heel verhelderend!

Ben ik de enige bij wie de OGC API erg traag werkt in Qgis?
Ik wil bijvoorbeeld alle actuele verkeersdrempels in de Haarlemmermeer (bronhouder G0394) filteren uit de BGT.

Ik probeerde de Wegdelen te importeren en dan in de query-builder de query schrijven voor het filter. Maar het is ondoenlijk om een ‘sample’ te bevragen van attributen bij de objecten. Qgis bevriest daarbij.

Ook bij het instellen van een Filter bevriest Qgis als je bij de attributen een ‘sample’ opvraagt.

Qgis bevriest ook bij het openen van de attributentabel.

Nu denk ik slim te zijn en in de URL al direct mijn filter in te passen met deze URL:

https://api.pdok.nl/lv/bgt/ogc/v1?datetime=2039-01-01T00:00:00.000Z&bronhouder=G0394&plus_functie=verkeersdrempel

maar dat levert niets op. De kaartlaag wil dan niet laden. De laag laadt wel bij de datetime-variabele maar niet als ik alleen om de bronhouder vraag.

Dit werkt wel:

https://api.pdok.nl/lv/bgt/ogc/v1?datetime=2039-01-01T00:00:00.000Z

Dit werkt niet:

https://api.pdok.nl/lv/bgt/ogc/v1?bronhouder=G0394

Dit werkt niet:

https://api.pdok.nl/lv/bgt/ogc/v1?bronhouder=G0394

De API heeft ondersteuning voor temporeel filteren (via datetime) en één property filter namelijk die op lokaal_id. Filteren op bronhouder is niet beschikbaar. Zie de OpenAPI spec en/of de filtermogelijkheden in de HTML weergave.

Een filter op bronhouder zal daarom in de client moeten plaatsvinden. Nu is de BGT - inclusief historie - verreweg de grootste dataset die via PDOK wordt aangeboden. Wegdeel is bovendien de allergrootste collectie binnen de BGT. Het kan daarom goed dat bepaalde operaties voor QGIS te zwaar zijn omdat er te veel data moet worden opgehaald (kan al snel om tientallen GBs gaan).

Gebruik van een kleinere bounding box (verder inzoomen) zal waarschijnlijk helpen. Mocht dat niet mogelijk zijn dan is het wellicht een optie om de data eerst via GDAL te downloaden (als GeoPackage) en daarna in QGIS te gebruiken, voorbeeld: BGT-download als Geopackage? - #7 door gisnederland

Daarnaast heb ik even de query-builder gebruikt en als ik op een deel van Haarlem inzoom dan werkt de volgende query. Hierbij heb ik geen datetime in de URL opgenomen (maar het via de filters opgelost, zie optie 2).

1 like

aha dankje. Ik wist niet dat ik bij de filtermogelijkehden in de HTML-weergave moest kijken.

als ik via de pdok-downloadviewer een stukje BGT download en filter op verkeersdrempels, dan duurt dat, met het bestand lokaal opgeslagen, inderdaad ook best wel lang. Niet dat het bevriest, maar toch. Nu snap ik beter dat het niet perse aan de OGC API ligt.

1 like