'fid' van provincies binnen de service 'bestuurlijke grenzen' is gewijzigd sinds april 2018

Wanneer wij op dit moment de actuele provincies opvragen via de WFS service ‘Bestuurlijke grenzen’ (zie: Introductie - PDOK), dan krijgen wij andere ‘fid’ aanduidingen voor de verschillende provincies t.o.v. een eerdere request (in april 2018).

Request:
https://geodata.nationaalgeoregister.nl/bestuurlijkegrenzen/wfs?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=bestuurlijkegrenzen:provincies&SRSNAME=EPSG:28992

Eerder waren er ook al problemen met het bevragen van de server:

Het attribuut ‘fid’ (kort voor ‘feature id’), of sinds GML 3 ‘gml:id’ is bedoeld om features binnen een GML document uniek mee te identificeren. IN de GML 2.1 specificatie wordt dit als volgt omschreven:

GML 2.1 provides a mechanism for feature identification. All GML features have an optional ‘fid’
attribute of type ID inherited from gml:AbstractFeatureType ; this means that features in the same
GML document cannot share a ‘fid’ value. The ‘fid’ attribute and simple link elements constructed using
XLink attributes provide a means of unambiguously referencing specific features within a GML
document.

Zoals Wouter in het door je genoemde veld noemt, is het attribuut fid gebaseerd op de primary key van de brontabel. Blijkbaar is de primary key gewijzigd. Een feature ID kan niet betrouwbaar worden gebruikt als een unieke sleutel om een object mee te identificeren. Mocht de data per ongeluk in een andere volgorde ingelezen worden, dan kunnen de primary keys anders zijn en is de feature ID ook anders. Dit moet gewoon mogelijk zijn. Een unieke sleutel waarmee je een bepaalde feature wilt identificeren, zoals BAG object ID, gemeentecode, e.d., moet expliciet als een GML feature property (dus als een XML element) in de data worden opgenomen.

Voor provincies bestaan er provinciecodes in de range 20-31. Wie ze oorspronkelijk bedacht heeft, weet ik niet precies. Het CBS gebruikt zelf een afwijkende, viercijferige code in de range 0001-0012. Een dergelijk veld zou toegevoegd moeten worden aan de WFS-service. Het enige veld dat nu gebruikt kan worden voor de identificatie is de provincienaam. Dit is veilig zolang provincienamen niet wijzigen, maar aangezien de officiële naam van Friesland “Fryslân” is, klopt de huidige output niet.

In Locatieserver wordt de code in de range 20-31 gebruikt, voorafgegaan door ‘PV’: http://geodata.nationaalgeoregister.nl/locatieserver/v3/free?q=type:provincie&rows=1&fq=*
Het zou mooi zijn als de bestuurlijkegrenzen WFS hier ook gebruik van zou maken, zodat er meer consistentie is.

Hoi Frank,

Bedankt voor dit duidelijke antwoord.

Ik gebruik het verder nu ook niet als unieke sleutel (omdat daar behoefte aan is bij ons), maar ik constateerde het.

De reden van de post, was een twee tal andere berichten mbt de unieke provincie aanduiding:

en

Het zou dan mooi zijn, wanneer binnen de dataset ‘bestuurlijke grensen’ dan ook een uniforme aanduiding voor een provincie meegenomen zou kunnen worden.
Mij maakt het uiteindelijk niet uit wat, zolang het maar unieke/uniform is.