FAQ IM Metingen CSV uitwisselformaat

Hieronder treft u de meest gestelde vragen over het IM Metingen csv-formaat. Staat uw vraag er niet tussen? Kijk dan eens in één van de andere FAQ's op deze pagina. Kunt u daarin uw vraag ook niet vinden, neem dan contact op met onze servicedesk.


Welke veranderingen van IM Metingen zijn verplicht ten opzichte van UM Aquo Metingen?

De wijziging van UM Aquo Metingen naar IM Metingen is op conceptueel vlak groot (de UML modellen of de XML schema’s lijken niet op elkaar). Het grootste deel van deze veranderingen gaat over het toevoegen van extra mogelijkheden en het aansluiten op internationale standaarden. Kijkend naar de veranderingen van het CSV-uitwisselformaat en de verplichte vulling daarvan, dan zijn de wijzigingen beperkt.

Het gaat om de volgende zaken:

  • de identificatie in de CSV’s moet verplicht worden ingevuld. Deze bestaat uit een zogenaamde ‘Namespace’ waarmee de bronhouder geïdentificeerd wordt (vast per waterbeheerder) en een lokale identificatie die, indien deze in het bronsysteem niet aanwezig is, per bestand uniek gegeneerd mag worden.
  • de resultaatdatum moet verplicht worden ingevuld in het CSV-tijdwaardenbestand.
  • het kwaliteitsoordeel van een meetwaarde is niet langer verplicht.

Terug naar de paginatop

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.

Terug naar de paginatop

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.

Terug naar de paginatop

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).

Terug naar de paginatop

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

Terug naar de paginatop

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

Terug naar de paginatop

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).

Terug naar de paginatop

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.

Terug naar de paginatop

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 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.

Terug naar de paginatop

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.

Terug naar de paginatop

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.

Terug naar de paginatop


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.

Terug naar de paginatop