UUID, NEN3610ID

From Geonovum Wiki
Revision as of 21:54, 19 June 2010 by Aschijf (talk | contribs) (Created page with ''''Hoe maak je unieke Object Id’s voor Spatial Objects aan?'''<br>Elk ruimtelijk object van een datset (of dataset series) dat via INSPIRE toegankelijk wordt gemaakt, moet voor…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Hoe maak je unieke Object Id’s voor Spatial Objects aan?
Elk ruimtelijk object van een datset (of dataset series) dat via INSPIRE toegankelijk wordt gemaakt, moet voorzien worden van een unieke indentificatie zodat derden ondubbelzinnig aan het object kunnen refereren. Dataproviders dienen dus – buiten eventuele eigen ID’s die de organisatie gebruikt – de ruimtelijke objecten van een unieke INSPIRE code te voorzien.

Deze code komt van het BaseType.Identifier object van het General Conceptual Model (hoofdstuk 9.8.1, p. 59). In de Data Specs komt het ‘identifier management’ terug onder paragraaf 5.2.1.4. Binnen INSPIRE datasets en dataset series heet de unieke code het InspireId.


Hoe verhoudt het InspireId zich tot het NEN3610ID ?
De nederlandse standaarden worden met de internationele ISO’s en Europose wetgeving geharmoniseerd. Het eerste aangrijppunt voor Object-Id’s in relatie tot INSPIRE is dus het Basismodel Geo-Informatie. De vigerende standaard is NEN3610:2005, deze wordt momenteel herzien. Onderstaande informatie is afkomstig uit deze herziene standaard NEN3610:2010 (nog in consultatie en dus pas later beschikbaar).

In NEN3610 kent ieder identificeerbaar GeoObject een nen3610ID klasse. Dit bestaat evenals het INSPIRE ID uit namespace, lokaalID en versie. Dit betekent dat wanneer de identificatie-code in de dataset voldoet aan het dataType nen3610ID van het NEN3610:2010, het ook conform INSPIRE is. De naamgeving is echter niet INSPIRE conform. In de uitleg onder wordt de INSPIRE naamgeving gehanteerd.

De INSPIRE Identifier van ieder ruimtelijk object bestaat uit drie attributen:

  • namespace: Wordt gebruikt om de data-source te identificeren. Er zijn in relatie tot INSPIRE drie praktische voorwaarden verbonden aan de namespace:
    • Is een verplicht attribuut
    • Begint met 2 letterige landscode: NL. De namespace kan vervolgens uitgebreid worden.
    • De namespace wordt geregistreerd in het nationale namespaces register, waardoor de uniekheid gegarandeerd wordt.
  • localId: een identifier die binnen de registratie uniek is. Dit hoeft dus geen UUID te zijn, maar mag wel. Is verplicht.
  • versionId: Dit attribuut maakt geen onderdeel uit van het identifier management van INSPIRE, maar is wel een attribuut van het InpspireId. Het versionId is niet verplicht, het hoeft niet opgevoerd te worden. Zie paragraaf 3.3.4.2.

De namespace wordt geregistreerd in het nationale namespace register. Het ligt nog open of hier het NEN 3610 Object Identificatie Namespace Register gebruikt gaat worden, of een andere oplossing gebruikt gaat worden. Uiteindelijk zal dit nationale namespace register het INSPIRE External Object Identifier Namespaces Register gaan vullen. Ook dit register is nog in de maak, maar zal onderdeel worden van het INSPIRE Registry


Tabel 4: Vergelijk van identifier management tussen INSPIRE en NEN3610:2010
Wat NEN3610ID InspireId Verklaring
Klasse <<dataType>> NEN3610ID <<dataType>> BaseTypes.Identifier De klasse waartoe het object-id behoort
attribuut namespace namespace Unieke verwijzing naar een registratie van objecten
attribuut lokaalID localId Unieke registratiecode binnen registratie
attribuut versie version Versieaanduiding object. Niet verplicht.





In code voorbeeld 1 is het applicatie schema cadastral parcels [CP] genomen. Uit het codevoorbeeld komt naar voren dat een deel van de elementen uit het General Conceptual Model afkomstig is <base:Identifier>. Ondanks dat het mechnisme op basis waarvan NEN3610 id’s uitdeelt, dienen de NEN3610 attribuutnamen nog wel vertaald te worden naar de overeenkomstige INSPIRE attribuutnamen.


Code voorbeeld 1 (van WFS:FeatureCollection):


<cp:inspireId>
<base:Identifier>
<base:localId>000000223282</base:localId>
<base:namespace>NLAAA</base:namespace>
<base:versionId>1978-12-31T23:00:00Z</base:versionId>
</base:Identifier>
</cp:inspireId>



Tabel 5: Relevante documenten
Titel Versie
Basismodel Geo-Informatie NEN3610:2010 Ontwikkelversie Eind 2010 beschikbaar
General Conceptual Model V3.2




VersionId en NEN3610:2010
VersionId is niet verplicht.

Wanneer er verschillende versies van hetzelfde object binnen een dataset bestaan, wordt het INSPIRE attribuut versionId gebruikt. Deze is uniek binnen de set van identieke objecten en maakt het mogelijk om de verschillende versies van het object van elkaar te onderscheiden. De voorwaarden waaronder NEN3610:2010 het attribuut versie per ruimtelijk object hanteert, is ook indentiek aan de voorwaarden van INSPIRE’s verionId. Het is echter uitgebreider dan INSPIRE: NEN3610:2010 onderscheid twee soorten voor het modelleren van historie van objecten:

  • materële historie: beschrijft veranderingen van eigenschappen van een object in de werkelijkheid
  • formele historie: beschrijft veranderingen van eigenschappen in de registratie (of database)


INPSIRE slechts één. De formele historie van een object komt overeen met de INSPIRE versionId.


Aandachtspunten in relatie tot NEN3610:2010 :

  • De koppeling tussen versie van NEN3610:2010 en INSPIRE is nog aan discussie onderheving.
  • Het attributt versionID is voidable. Het mag nul of 1 keer per object voorkomen (waarbij Unknown betekent dat de data van het betreffende object niet bekend is en Unpopulated dat het attribuut over de hele dataset niet geregistreerd is)