De BGT opvragen via API en wegschrijven met ogr2ogr

Via onderstaande commando probeer ik de bgt op te vragen en weg te schrijven naar een POSTgis database.

Ik wil alleen de records opvragen met een creation_date > van 01-01-2025 of later. Hoe kan ik dit doen?

creation_date > 2001-01-01 of creation_date > 2-8-2023 00:00:00 (UTC) heb ik toegevoegd maar dat werkt niet. Onderstaande werkt wel via osgeo4w Shell.

ogr2ogr -f "PostgreSQL" PG:"host=localhost port=5432 user=user dbname=databasename password=password" -where "eind_registratie IS NULL" -nln bgt_wegdeel_test4 -lco SCHEMA=mijn_schema -lco GEOMETRY_NAME=geom -progress -overwrite -s_srs EPSG:28992 -t_srs EPSG:28992 OAPIF:https://api.pdok.nl/lv/bgt/ogc/v1 wegdeel

Heeft iemand een tip hoe ik kan filteren op deze datum?

Beste Bas,

Filteren op het veld creation_date is momenteel niet mogelijk in de BGT OGC API. Als je specifiek op dit veld wilt filteren dan zal je dat client-side moeten doen. Dus meer binnen halen en dan zelf filteren op creation_date.

De API heeft wel ondersteuning voor filteren op tijd via een peildatum. Bijv: https://api.pdok.nl/lv/bgt/ogc/v1/collections/wegdeel/items?datetime=2025-01-01T00%3A00%3A00.000Z&limit=10. Dus via de generieke datetime parameter.

Hiermee filter je in geval van de BGT op een peildatum tussen tijdstip_registratie en eind_registratie (incl. lege eind_registratie). Mogelijk kan je dit gebruiken? Eventueel door hiermee alleen de actuele data (van 2025) op te halen en vervolgens lokaal verder op creation_date te filteren?

Om dit via ogr2ogr te doen kan je de -oo DATETIME=<waarde> optie meegeven op de command line. Voorbeeld (ik gebruik even GeoPackage als output ipv Postgres maar het idee is hetzelfde):

ogr2ogr -overwrite -f GPKG -s_srs EPSG:28992 -t_srs EPSG:28992 wegdeel.gpkg -oo DATETIME=2025-01-01T00:00:00.000Z OAPIF:https://api.pdok.nl/lv/bgt/ogc/v1 wegdeel

Tip: met --debug on krijg je meer logging te zien.

Voorbeeld output:

ogr2ogr --debug on -overwrite -f GPKG -s_srs EPSG:28992 -t_srs EPSG:28992 wegdeel.gpkg -oo DATETIME=2025-01-01T00:00:00.000Z OAPIF:https://api.pdok.nl/lv/bgt/ogc/v1 wegdeel
HTTP: Establish persistent session named 'OAPIF:0x14d812360'.
HTTP: Fetch(https://api.pdok.nl/lv/bgt/ogc/v1/collections)
HTTP: libcurl/8.7.1 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.12 nghttp2/1.63.0
GDAL: GDALOpen(OAPIF:https://api.pdok.nl/lv/bgt/ogc/v1, this=0x14d812360) succeeds as OAPIF.
GPKG: GeoPackage v1.2.0
GDAL: GDALOpen(wegdeel.gpkg, this=0x14d081200) succeeds as GPKG.
HTTP: Fetch(https://api.pdok.nl/lv/bgt/ogc/v1)
HTTP: Fetch(https://api.pdok.nl/lv/bgt/ogc/v1/api?f=json)
HTTP: Fetch(https://api.pdok.nl/lv/bgt/ogc/v1/collections/wegdeel/items?f=json&limit=20)
GeoJSON: First pass: 100.00 %
ogr2ogr: Switching layer active SRS to Amersfoort / RD New
HTTP: Fetch(https://api.pdok.nl/lv/bgt/ogc/v1/collections/wegdeel/items?f=json&limit=1000&crs=http://www.opengis.net/def/crs/EPSG/0/28992&datetime=2025-01-01T00:00:00.000Z)
GeoJSON: First pass: 25.91 %
GeoJSON: First pass: 51.81 %
GeoJSON: First pass: 77.72 %
GeoJSON: First pass: 100.00 %
HTTP: Fetch(https://api.pdok.nl/lv/bgt/ogc/v1/collections/wegdeel/items?crs=http%3A%2F%2Fwww.opengis.net%2Fdef%2Fcrs%2FEPSG%2F0%2F28992&cursor=FCA%7CsdVOzQ&datetime=2025-01-01T00%3A00%3A00.000Z&f=json&limit=1000)
GeoJSON: First pass: 46.81 %
GeoJSON: First pass: 93.63 %
GeoJSON: First pass: 100.00 %
HTTP: Fetch(https://api.pdok.nl/lv/bgt/ogc/v1/collections/wegdeel/items?crs=http%3A%2F%2Fwww.opengis.net%2Fdef%2Fcrs%2FEPSG%2F0%2F28992&cursor=Io0%7CsdVOzQ&datetime=2025-01-01T00%3A00%3A00.000Z&f=json&limit=1000)
GeoJSON: First pass: 40.49 %
GeoJSON: First pass: 80.99 %
GeoJSON: First pass: 100.00 %
HTTP: Fetch(https://api.pdok.nl/lv/bgt/ogc/v1/collections/wegdeel/items?crs=http%3A%2F%2Fwww.opengis.net%2Fdef%2Fcrs%2FEPSG%2F0%2F28992&cursor=M_o%7CsdVOzQ&datetime=2025-01-01T00%3A00%3A00.000Z&f=json&limit=1000)
.....
.....
3 likes