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.