Vraag & Antwoord IM Metingen

Inhoud

IM Metingen algemeen

Hoe kan ik meetwaarden volgens IM Metingen uitwisselen?

Dat kan door gebruik te maken van een IM Metingen bestandsformaat. Voor meetwaarden zijn twee formaten beschikbaar, namelijk een CSV en een XML formaat.

  1. CSV-bestand; in dit bestand zijn de onderdelen zichtbaar als kolommen
  2. XML-bestand; in dit bestand zijn de onderdelen zichtbaar als elementen

Een beschrijving en voorbeelden van deze bestandsformaten zijn te vinden op de pagina Aquo-uitwisselformaten. Door praktische / technische beperkingen van een CSV-bestand bevat dit formaat niet alle elementen uit het model. Het CSV-formaat is dan ook met name geschikt voor meer ‘eenvoudige’ tijdreeksen en niet voor bijvoorbeeld complexe boringen of complexe geografische situaties. Het XML-formaat bevat wél alle mogelijkheden.


Mag ik zelf bepalen wat de inhoud van een IM Metingen uitwisselbestand is?

Het IM Metingen model beschrijft de vrijheden en beperkingen bij de vulling van een IM Metingen bestand. Bij een groot aantal elementen/attributen is vastgelegd welke waardes zijn toegestaan. Meestal wordt daarbij verwezen naar Aquo domeintabellen, maar soms mogen ook niet-Aquo waarden worden ingevuld. Ook is in het model voorgeschreven welke elementen/attributen optioneel of verplicht zijn.


Moet het IM Metingen uitwisselbestand een specifieke naam hebben?

Nee, dat hoeft niet. Het bestand moet wel de extensie *.xml of *.csv hebben.


Kan één IM Metingen bestand door meerdere informatiesystemen gebruikt worden?

Ja, mits de ontvangende applicatie het IM Metingen formaat (xml en/of csv) ondersteunt. Daarbij moet wel worden bedacht welke gegevens de ontvangende applicatie nodig heeft. Bijvoorbeeld een applicatie voor het verwerken van fysisch-chemische meetwaarden zal mogelijk geen biologische meetwaarden herkennen.


Ik heb een probleem bij het inlezen van een IM Metingen bestand in een informatiesysteem, wat moet ik doen?

Controleer de opbouw van het IM Metingen bestand. Bij een CSV-formaat bijvoorbeeld door controle van de kolomtitels en de vulling van verplichte kolommen. Raadpleeg tevens de door het informatiesysteem (bv. Aquo-kit of WKP) gemaakte logfile. Kunt u na deze controles het probleem niet oplossen, stuur dan het CSV-bestand en de logfile naar de IHW Servicedesk.


Waarom moet ik de resultaatdatum verplicht invullen?

IM Metingen sluit aan bij de internationale standaard Observations & Measurements. In deze ISO-norm is de resultaatdatum als verplicht veld opgenomen. De resultaatdatum is het moment de meting of waarneming tot een resultaat heeft geleid. Bij een directe meting is dit over het algemeen gelijk aan de begin- of einddatum van de meetwaarde. Bij een indirecte waarneming is de resultaatdatum gelijk aan het moment waarop de analyse is uitgevoerd en de meetwaarde wordt geregistreerd.


Wat vul ik in in het uitwisselbestand als ik geen resultaatdatum in mijn bronsysteem heb?

Als er geen resultaatdatum bekend is in het bronsysteem, dan dient de einddatum van de observatie te worden ingevuld. Wanneer de einddatum van de observatie niet bekend is, dan dient de begindatum van de observatie te worden ingevuld. Het is de verantwoordelijkheid van gebruiker om de juiste resultaatdatum in te vullen. De resultaatdatum wordt onder andere gebruikt voor het beschikbaar stellen van informatie vanuit het Waterkwaliteitsportaal richting de EU waarbij resultaatdatum een verplicht veld is.


Wat is het verschil tussen de resultaatdatum en de begin- en einddatum?

De begin- en einddatum bij een meetwaarde geven het tijdstip of periode weer waarop de meting of waarneming betrekking heeft. Bij een temperatuurmeting gaat het om een tijdstip (Begindatum/tijd). Bij passive sampling hebben de metingen betrekking op een periode (Begindatum/tijd t/m Einddatum/tijd). Dus resultaatdatum is altijd groter of gelijk aan begin- en einddatum.


Moet ik altijd de tijd invullen bij een Datum-tijd-veld?

Nee, niet als de tijd niet bekend of niet relevant is. Dit kan het geval zijn bij een biologische waarneming. In dat geval hoeft alleen de datum ingevuld te worden.


Wat is een URN?

Een Uniform Resource Name (URN) is een naam van een computerstandaard op het World Wide Web.

De URN-standaard is bedoeld om als persistent, locatie-onafhankelijke identifier te dienen. Het is een combinatie van een lokale identifier (Namespace Identifier, NID) en een aanduiding van de herkomst van die identifier, de zogenaamde naamruimte (Namespace-Specific String, NSS).

Een urn kan er bijvoorbeeld zo uit zien: urn:aquo:biotaxon:id:1050. Waarbij het eerste deel aangeeft waar de waarde vandaan komt (in dit geval uit de Aquo standaard). Daarna wordt verwezen naar de juiste domeintabel (in dit geval de domeintabel Biotaxon) en kolom daarvan (in dit geval de kolom ID). Tot slot volgt de waarde zelf (in dit geval 1050). Door vervolgens in de Aquo domeintabellen service te zoeken naar ID 1050 in de desbetreffende tabel (biotaxon) en kolom kunnen alle gegevens achterhaald worden die bij het ID horen. IHW zorgt ervoor dat voor de Aquo tabellen alle metadata ook steeds daadwerkelijk terug te vinden is.


Een URN is toch helemaal niet stabiel?

Toch wel. Het is niet in het belang van organisaties om veel te veranderen op de websites en de plekken waar uitbreidbare waarden van de codelijsten te vinden zijn. Mocht dit onverhoopt wel zo zijn dan is de gebruiker zelf verantwoordelijk voor het wijzigen van de urn.

Overigens is dit ook de reden waarom voor een URN is gekozen en juist niet voor een URL bij het verwijzen naar de uiteindelijke waarde. Het enige risico wat nu nog bestaat is dat de organisatie waar de URN gevonden kan worden wijzigt. Zoals hierboven vermeld is dat mogelijk maar vaak prima oplosbaar. Om die reden kiest IHW er ook voor om de ‘eigen’ domeintabellen als URN www.aquo.nl mee te geven i.p.v. www.ihw.nl. Aquo.nl is inmiddels 13 jaar stabiel. Een mooi voorbeeld van het gebruik van een URN buiten IHW zijn de codes voor coördinaatreferentiestelsels. Deze zijn ooit bedacht door een organisatie die ‘EPSG‘ heette. Inmiddels is die organisatie opgegaan in een andere organisatie (OGP) maar gebruikt men nog altijd de ‘epsg’ URN binnen bv GIS systemen.


Wat is een codespace?

Een codespace is een verwijzing in de vorm van een url van de instantie die een domeinwaarde beheert. Dit kan bijvoorbeeld zijn http://www.nen.nl. Als dit in de toekomst http://www.nen.org wordt dan is dat geen probleem. Het is immers wel duidelijk dat het om de organisatie NEN gaat.


Wat is een namespace?

Een namespace is aanduiding van de bronhouder (beheerder / eigenaar) van bepaalde gegevens. Aquo is de naam van een verzameling domeintabellen die gebruikt worden bij uitwisseling van informatie ten behoeve van waterbeheer. Bij uitwisseling van Aquo-domeinwaarden wordt door middel van de namespace ‘aquo’ aangegeven dat domeinwaarden uit de Aquo-verzameling afkomstig zijn. Impliciet wordt daarmee ook de bronhouder aangeduid (namelijk de beheerder van de Aquo domeintabellen – in dit geval IHW).


Wat is een codelijst en wat een enumeratie?

Een codelijst is een bepaald soort domeintabel. Wanneer vooraf niet volledig bekend is welke waarden een bepaald element/attribuut kan krijgen, maar er wel een basislijst van mogelijke waarden is, wordt een codelijst gebruikt. De meeste Aquo-domeintabellen zijn codelijsten. Dit maakt het mogelijk in een uitwisselbestand een ‘eigen’ waarde op te nemen. Zie de vragen ‘Hoe voeg ik een ‘eigen’ waarde toe aan een codelijst in het csv-formaat?’ en ‘Hoe voeg ik een ‘eigen’ waarde toe aan een codelijst in het xml-formaat?’.

Een enumeratie is ook een bepaald soort domeintabel. Hierin is vooraf wel duidelijk welke waarden een bepaald element/attribuut kan krijgen, deze zijn allemaal in de domeintabel opgenomen. Er kunnen in principe domeinwaarden worden toegevoegd aan beide typen domeintabellen. Een verzoek daartoe kan worden ingediend bij de servicedesk van IHW.

Worden de ID’s van bestaande domeinwaarden aangepast?

Nee. Het aanpassen van de ID’s van waarden in domeintabellen zal niet gebeuren. Waarden en ook ID’s kunnen historisch worden verklaard. De geldigheid van de domeinwaarde wordt dan beëindigd. Ook kunnen er nieuwe waarden met nieuwe ID’s worden toegevoegd.


Is het ID van het compartiment Oppervlaktewater 10 of 4?

De Aquo-domeintabel Compartiment bestond uit kolommen met Code, Omschrijving, Groep en Cijfercode. Het compartiment Oppervlaktewater kent de code ‘OW’ en de cijfercode ‘10’. Aan alle domeintabellen is een kolom ‘ID’ toegevoegd. Oppervlaktewater heeft als ID ‘4’. Er kan verwarring ontstaan doordat in de domeintabel compartiment zowel een kolom als ID als cijfercode heeft die beide gevuld zijn met een numerieke waarde. De Code (in dit geval OW) is voor het csv-formaat de sleutel. Het ID (in dit geval 4) is voor het xml-formaat de sleutel. De cijfercode wordt in de praktijk niet meer gebruikt in de Aquo uitwisseling. Deze kan natuurlijk nog wel intern in bepaalde informatiesystemen aanwezig zijn. In W-1902-0009 heeft IHW voorgesteld om de verwarrende kolom cijfercode te verwijderen uit de paar tabellen die dit hebben. De technische werkgroep was het hier echter niet mee eens.


Waarom hebben ID’s niet bijvoorbeeld 5 digits? Waarom is het 1e ID bv 1 i.p.v. 00001?

De huidige ID’s in de domeintabellen (dus zonder voorloopnullen) zijn numeriek en dus prima te sorteren (1 komt voor 2 etc). Alleen als deze als tekst worden beschouwd, bijvoorbeeld door het programma MS Excel, worden ze verkeerd gesorteerd. Dit is in Excel te voorkomen door zo’n kolom als ‘getal’ te markeren. Als ID’s met voorloopnullen in een CSV terechtkomen, dan worden de voorloopnullen verwijderd. Daarmee is het niet nodig om ID’s te voorzien van 5 digits. Daarnaast zouden alle huidige ID’s aangepast moeten worden, wat tot grote problemen gaat leiden in de systemen waar dit al is geïmplementeerd.


Wie controleert of een uitwisselbestand goed is?

De bronhouder is zelf verantwoordelijk voor de inhoud van de gegevens, dus het controleren van de juistheid van de gegevens. Iedereen is verantwoordelijk voor de kwaliteit van zijn eigen gegevens. De ontvanger controleert of het bestand geschikt is om in te lezen in het ontvangende systeem. Het informatiehuis Water voert, als ontvangende partij, technische validaties uit bij het inlezen van bestanden in de Aquo-kit en het Waterkwaliteitsportaal (WKP).


Moet ik verplicht een hoedanigheid invullen in een IM Metingen uitwisselbestand?

Nee, het is niet verplicht. Het is een optioneel veld. In principe hoeft Hoedanigheid niet ingevuld te worden, en mag het meervoudig gevuld worden. Wij raden u echter aan hierover goede afspraken te maken met de partij waarmee u gegevens uitwisselt. Het leeglaten van het veld komt overeen met de domeinwaarde “niet van toepassing” code NVT, ID:8.


Wat moet er worden ingevuld in het veld Monstercriterium?

In de kolom Monstercriterium.code kan een code worden opgenomen voor de nadere aanduiding van de beperking van het monster (is niet verplicht). Gebruik hiervoor bij biologische waarnemingen een waarde uit de domeintabel Hoedanigheid, groepen Biologisch_Kenmerk_ … en bij bodem/grondmonsters waarden uit de domeintabel Hoedanigheid, groep Korrelgroottefractie.

IM Metingen CSV uitwisselformaat

Hoe weet ik welke kolommen ik moet invullen in een IM Metingen CSV-uitwisselbestand?

Op de Aquo website vindt u het rapport “Specificaties IM Metingen CSV-encoding”. Hierin kunt u zien hoe de kolommen ingevuld moeten, welke kolommen verplicht zijn en welke niet en welke conditioneel zijn om in te vullen.


Hoe moet ik een meetpunt identificeren?

De opbouw van de identificatie gebeurt volgens de methode van de NEN3610 en IMGeo. De identificatie bestaat uit de namespace en de zogenaamde lokale identificatie. De Namespace is conform: Code NL + de waterbeheerdercode. Dit is bijvoorbeeld NL02 voor Wetterskip Fryslan. Daarna volgt een lokale identificatie die uniek is voor de waterbeheerder, bijv. Meetlocatie1. Daarnaast kan dan nog (optioneel) een versie worden toegevoegd.

In het CSV bestand Meetpunt worden de kolommen los opgenomen, zodat deze ook los kunnen worden ingelezen. Bij verwijzingen in andere bestanden worden namespace, lokaleID en eventueel versie samengevoegd tot één veld namespace_lokaleID_versie voor de csv uitwisseling. Deze werkwijze sluit aan bij de opzet van de XML uitwisseling waar het gml:id op eenzelfde manier opgebouwd kan worden.

In het CSV bestand Meetpunt wordt dus het volgende opgenomen:

Namespace;Identificatie;Versie NL02;Meetlocatie1;

De samengestelde verwijzing vanuit een monster.csv of een tijdwaarden.csv in het geval van het voorbeeld wordt dan NL02_Meetlocatie1.


Wat is de maximale lengte van het elementidentificatie?

Volgens het IM model heeft het element identificatie geen geen maximale lengte,. Echter, in veel informatiesystemen is van oudsher de lengte van de identificatie van een object beperkt tot 36 tekens. Als daarvan de lengte van de namespace wordt afgetrokken (5 tekens) blijven er 31 tekens over voor de lengte van de lokale identificatie (lokaalID).


Hoe kan ik deelmonsters aan monsters koppelen?

Deelmonsters kunnen – optioneel – aan monsters worden gerelateerd. Deze relaties kunnen worden vastgelegd middels de kolom “GerelateerdMonsterobject” in het CSV-uitwisselbestand met Monstergegevens. De waarde bestaat uit de namespace + lokale identificatie. Daarnaast kun je in het veld “GerelateerdMonsterobjectRol” aangeven wat de relatie van het deelmonster ten opzichte van het monster is, bijvoorbeeld de waarde “maakt deel uit van”. Er kan maar één relatie worden gelegd vanuit een monster naar een ander monster.

Stel de monsters B en C zijn deelmonsters van monster A.

Het CSV bestand Monster wordt dan als volgt opgebouwd (LET OP: niet alle verplichte kolommen zijn opgenomen):

Namespace;identificatie; GerelateerdMonsterobject; GerelateerdMonsterobjecRol.id

NLxx;MON_A; NLxx;MON_B; NLxx_MON_A; 1 NLxx;MON_C; NLxx_MON_A; 1


Hoe kan ik metingen die betrekking hebben op monsters aan directe metingen koppelen?

Metingen die betrekking hebben op monsters (of deelmonsters) kunnen – optioneel – aan directe metingen worden gerelateerd. Deze relaties kunnen worden vastgelegd met de velden “GerelateerdObservatieobject” en “GerelateerdObservatieobjectRol” in het CSV-bestand met gegevens van tijdwaarden. Met het veld “GerelateerdObservatieobject kun je een meetwaarde van een directe meting en een meetwaarde van een monster aan elkaar relateren. De waarde in het veld bestaat uit “namespace + lokale identificatie”. De lokale identificatie heeft betrekking op de meetwaarde. Daarnaast kan in het veld “GerelateerdObservatieobjectRol” aangeven worden wat de relatie van de meetwaarde uit hetmonster is ten opzichte van de directe meting.

Er kan maar één relatie worden gelegd tussen directe metingen en meetwaarden van een monster. Het csv-meetwaardenbestand ziet er dan als volgt uit (LET OP: niet alle verplichte kolommen zijn opgenomen):

Monster.identificatie; Meetpunt.identificatie; Namespace; Identificatie; GerelateerdObservatieobject; GerelateerdObservatieobjectRol.id; numeriekewaarde

NLxx_MON_A; ; NLxx; MWA1; ; ;nwa1
NLxx_MTPNT1; NLxx; MWA2; NLxx_MWA1; 2; nwa2
NLxx_MTPNT1; NLxx; MWA3; NLxx_MWA1; 2; nwa3
NLxx_MTPNT1; NLxx; MWA4; NLxx_MWA1; 2; nwa4


Hoe wissel ik de coördinaten van de positie van de monstername uit?

De coördinaten van een monster kunnen worden uitgewisseld in de kolommen “GeometriePunt.X” en “GeometriePunt.Y” van het csv-monsterbestand. Via het veld “Referentiehorizontaal.code” kan – optioneel- worden aangegeven welk coördinaatreferentiestelsel wordt gebruikt. Als de referentiehorizontaal niet is ingevuld dan zijn de x- en y- coördinaten opgegeven volgens het RD-stelsel.

N.B. Maar ook voor metingen op zee kunnen de coördinaten worden uitgewisseld. In dat geval wordt met X bedoeld de lengtegraad (bv 5° oosterlengte geeft een GeometriePunt.X van 5) en met Y de breedtegraad (bv 52° noorderbreedte geeft een GeometriePunt.Y van 52). Er moet dan wel voor een ander coördinaatstelsel worden gekozen, bv EPSG4258 (dit geeft aan dat het om zogenaamde ETRS89 lengte- en breedtegraden gaat; een standaardvorm voor rapportage aan de Europese Unie of voor de Noordzee).


Wat moet ik doen als Lokale identificaties die beginnen met een nullen zonder deze nullen worden geïmporteerd?

Dit probleem wordt veroorzaakt als u een CSV-bestand opent in Excel. Excel herkent deze identificaties als een getal en laat daarom de voorloopnullen weg. Om dit probleem op te lossen kunt u in Excel kiezen om de celeigenschappen van de betreffende kolommen aan te passen via een rechtermuisklik. Selecteer dan de kolom en pas bij ‘celeigenschappen' de categorie aan naar ‘tekst’. Iedere keer als het csv-bestand geopend wordt (in Excel), moet dit opnieuw gedaan worden.


Hoe voorkom ik dat ik elke keer in het CSV-uitwisselbestand de datum, tijd en leestekens moet corrigeren?

Hiervoor kunt u de datumconfiguratie aanpassen in Windows, mits u daar toegang toe heeft. Kies in Windows voor ‘Configuratiescherm', en verander in het deel ‘Taal en regio (tabblad Notaties)' de korte datumnotitie in jjjj-mm-dd. Als dit niet kan of mag, dan kunt u in Excel kiezen om de celeigenschappen van de betreffende kolommen aan te passen via een rechtermuisklik. Selecteer dan bij ‘celeigenschappen' de categorie ‘datum', en kies bij ‘locatie' voor ‘Nederlands (België)'. Hier kunt u dan het type voor de kolom veranderen naar ‘2001-03-14′ (jjjj-mm-dd). Iedere keer als het csv-bestand geopend wordt (in Excel), moet dit opnieuw gedaan worden.

U kunt het ook voorkomen door het bestand niet met MS Excel te openen, maar met een ander programma, bijvoorbeeld CSV-editor csvedit of Kladblok. Uiteraard kan het ook voorkomen worden door de leverancier van uw informatiesysteem te vragen om een ‘IM Metingen CSV- stekker’ te ontwikkelen waardoor de gegevens gelijk goed weggeschreven worden.

Waarom moet in het CSV uitwisselbestand de Namespace in meerdere kolommen opgeven?

In het CSV-uitwisselbestand met monstergegevens bevat de kolom meetpunt.identificatie de combinatie “Namespace+lokaalID van het meetpunt”, terwijl de “Namespace van het meetpunt” al in de kolom ‘Namespace’ staat.

Bij de verwijzing naar het meetpunt is de namespace nodig omdat alleen de combinatie Namespace+lokaalID het meetpunt uniek maakt.

De namespace van het monster kan bovendien anders zijn dan de namespace van het meetpunt. Dit geldt bijvoorbeeld als het meetpunt door Rijkswaterstaat wordt beheerd, maar het monster door een andere organisatie, zoals IMARES is genomen en geanalyseerd.


Moeten alle kolommen in een CSV uitwisselbestand aanwezig zijn?

Het CSV-uitwisselbestand bevat tenminste alle kolommen die verplicht zijn. De niet verplichte kolommen mogen opgenomen worden, maar dit hoeft niet.


Kan ik in een IM Metingen CSV-bestand ook nog extra kolommen opnemen?

Ja. Naast de verplichte kolommen, mag een CSV-bestand ook extra kolommen bevatten met informatie die voor het eigen werkproces van belang is.

Hoe ga ik om met meervoudige hoedanigheden?

Volgens het IM model kunnen er bij een meetwaarde meerder hoedanigheden van toepassing zijn. In het CSV-formaat met gegevens van meetwaarden kan slechts één hoedanigheid worden opgenomen.. Dit is geen probleem omdat in de praktijk én dus in Aquo ook combinaties van Hoedanigheden ook weer als een Hoedanigheid zijn gedefinieerd. Bijvoorbeeld de combinatie van de hoedanigheden ‘Uitgedrukt in fosfor’ (code: P) en ‘Ten opzichte van drooggewicht ‘(code dg) is de Hoedanigheid(combinatie) ‘Uitgedrukt in Fosfor / drooggewicht’ (code: Pdg). Meervoudige hoedanigheden worden in veel inlezende systemen alleen ondersteund door een gecombineerde domeinwaarde.

Het veld mag leeg worden gelaten of, alternatief, worden gevuld met de waarde ‘Niet van toepassing’.

Hoe wissel ik een hiaatwaarde uit?

In het geval van een hiaatwaarde, moet in het veld Kwaliteitsoordeel.code “99” (hiaatwaarde) ingevuld worden.

Toelichting: Conform IM Metingen mogen, in een Meetwaarden CSV-bestand, de velden Numeriekewaarde en Alfanumeriekewaarde niet allebei leeg zijn. Het komt in de praktijk wél voor dat er geen numerieke en ook geen alfanumerieke waarde is ingevuld. In dat geval is de monsternemer wel ter plekke geweest, maar kon met reden geen monster nemen (bijvoorbeeld bij bevroren water of een drooggevallen sloot). In de database komt dit neer op een ‘missing value'. De meeste databases hebben daar een specifiek getal (bijvoorbeeld -999) of een code (bijvoorbeeld NaN) voor. Zonder “99” in het veld Kwaliteitsoordeel.code is het aan een meetwaarde in een IM Metingen CSV-bestand niet te zien of Numeriekewaarde van bijvoorbeeld -999 of een Alfanumeriekewaarde van bijvoorbeeld NaN “echte” of “verzonnen” waarden betreffen.

IM Metingen XML uitwisselformaat

Waarom is de XML formaat van IM Metingen compleet anders dan die van UM Aquo Metingen?

Dit komt doordat IM Metingen aansluit op de internationale ISO19156 standaard en daarom gebruik gemaakt van het xml- schema van die standaard. Dat wordt voor Nederlandse toepassing verder uitgebreid in IM-Metingen dat gezamenlijk met het SIKB is ontwikkeld. Voor het waterbeheer is hieraan nog een paar extra mogelijkheden toegevoegd en dat wordt IM Metingen genoemd. Er wordt dus in feite van drie xml-schemabestanden gebruik gemaakt waarbij alleen IM Metingen uniek is voor de watersector.

Het voordeel is dat de gegevens uit IM Metingen voor een belangrijk deel ook begrepen kunnen worden door andere systemen / gebruikers die IM-Metingen hebben geïmplementeerd of zelfs alleen maar ISO19156.

Hoe voeg ik een ‘eigen’ waarde toe aan een codelijst in het XML-uitwisselbestand?

Om codelijsten uit te breiden met een ‘eigen’ waarde moet een codespace en een urn (Uniform Resource Name) worden opgegeven in de xml. Bij een urn voor een waarde die niet uit de Aquo standaard komt wordt hetzelfde patroon gevolgd. De codespace is een verwijzing in de vorm van een url van de instantie waar de waarde te vinden is. Dit kan bijvoorbeeld zijn http://www.nen.nl of http://www.aquo.nl. Bij een ‘eigen’ waarde wordt de codespace gevuld met de url van de aanleverende organisatie. Deze wordt ook vertaald in de urn. In de urn wordt vervolgens aangegeven om welke unieke waarde het gaat. Formeel moet deze ook door de organisatie in kwestie gepubliceerd zijn. Bijvoorbeeld: codespace = http://www.nen.nl en code = urn:nen:norm:normnummer:NEN-36102011-nl.

Idealiter is de code een samenstel van de url op de website waar deze informatie is gepubliceerd of zit daar zo dicht mogelijk bij. De code moet echter wel stabiel blijven omdat daar naar verwezen moet kunnen worden. De url zelf mag in de tijd veranderen zoals deze maar ‘opgelost’ kan worden door een zogenaamde ‘urn resolver’ (een hulpmiddel die een urn kan omzetten naar een geldige url en zo de pagina met informatie op het internet kan terugvinden.

Waarmee moet het gml:id van de elementen worden ingevuld?

Elk object (timeperiod, point, measurementobject, etc.) in een bestand heeft een gml:id dat uniek moet zijn binnen het XML-uitwisselbestand. Bij de toepassing van Xlinks moet een verwijzing worden gemaakt naar dit gml:id en niet naar het element ‘identificatie’. Om een gml:id uniek te maken is het gebruik van een zogenaamd guid aan te raden, bijvoorbeeld: gml:id=”_163adfba-39de-4c94-afbe-6bef34be0d7b”.

Het kan handig zijn om bij objecten met eigen identificaties, zoals measurementObjectobject, sample en, result het gml:id te vullen met de namespace + lokaalID. Bijv. NL37_12345. Mocht een object vaker voorkomen (meerdere versies in één bestand) dan kan de versie worden toegevoegd. Indien er dubbele waarden kunnen voorkomen dan kan het raadzaam zijn om het objecttype toe te voegen aan de identificatie. Bijv. NL37_12345_MPN


Wat zijn de mogelijke waarde bij limitSymbol?

De mogelijk waarden zijn ‘>’, ‘<’. Waarbij ‘<‘ staat voor ‘kleiner dan laagste waarde detectiegrens' en ‘>' staat voor ‘groter dan hoogste waarde detectiegrens'. Maar deze tekens worden in een XML-bestand gebruikt bij het openen en sluiten van elementen. Een waarde voor een limitSymbol moet daarom anders worden opgenomen in een XML-uitwisselbestand. Dit kan op twee manieren: 1) als CData blok: <![CDATA[<]]> of <![CDATA[>]]> 2) als HTML code: ‘>' = Groter dan (>) of ‘<' = Kleiner dan (<) ‘<'


Hoe ga ik om met meervoudige hoedanigheden?

In een IM MetingenXML-uitwisselbestand is het mogelijk om meerdere hoedanigheden per meetwaarde uit te wisselen. In veel informatiesystemen wordt deze werkwijze niet ondersteund. Dit komt ook omdat in de praktijk én dus in Aquo ook combinaties van Hoedanigheden ook weer als een Hoedanigheid zijn gedefinieerd. Bijvoorbeeld de combinatie van de hoedanigheden ‘Uitgedrukt in fosfor’ (code: P) en ‘Ten opzichte van drooggewicht ‘(code dg) is de Hoedanigheid(combinatie) ‘Uitgedrukt in Fosfor / droogewicht’ (code: Pdg). Meervoudige hoedanigheden worden in veel inlezende systemen alleen ondersteund door een gecombineerde domeinwaarde. Hierop kan worden geanticipeerd door gecombineerde hoedanigheden uit de Aquo tabel Hoedanigheid in het XML bestand op te nemen.