Ik werk momenteel aan de verwerking van BAG Extract versie 2 in NLExtract. Daarbij maken we, net als voor versie 1, zogenaamde PostgreSQL/PostGIS VIEWs om wat we noemen “actueel” en “actueelbestaande” BAG objecten uit te filteren.
“actueel” in v1 was als volgt gedefinieerd op basis voorkomen-attributen:
begindatumtijdvakgeldigheid <= now()
AND (einddatumtijdvakgeldigheid is NULL OR einddatumtijdvakgeldigheid >= now())
AND aanduidingrecordinactief = FALSE;
In gewone taal: begindatum object is in verleden of nu EN einddatum in toekomst of leeg EN het object moet actief zijn.
In versie 2 zijn de “voorkomen” attributen behoorlijk uitgebreid, maar als ik het equivalent als hierboven “actueel” definieer, denk ik dat dit als volgt is:
begingeldigheid <= now()
AND (eindgeldigheid is NULL OR eindgeldigheid >= now())
AND (tijdstipinactief is NULL OR tijdstipinactief >= now())
hetzelfde idee, alleen bestaat aanduidingrecordinactief
als boolean niet meer. Ik vermoed dat dit tijdstipinactief
(datum-tijd attribuut) is (?). De “geldigheid”-condities zijn als in versie 1 alleen moet tijdstipinactief
leeg zijn of nu of in toekomst liggen. In feite zou (identificatie,begingeldigheid,eindgeldigheid,tijdstipinactief
) een unieke sleutel moeten zijn.
Dan zijn er ook geen “meerdere objecten met zelfde identificatie”, de unieke set. Daarnaast op basis status kan vervolgens nog de Actueel & Bestaand uitgefilterd, maar dat is naast paar nieuwe statussen hetzelfde idee. Kom ik misschien apart op terug. Ik heb het “BAG Historie Model” PDF Document [1] doorgenomen, wel taaie kost, maar bovenstaande haalde ik daar ook uit.
[1] https://www.kadaster.nl/-/specificatie-bag-historiemodel