Bas020
11 maart 2025 om 18:53
1
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