Uitwisselbestanden van het CIMLK
Het Centraal Instrument Monitoring Luchtkwaliteit (CIMLK) en de Rekentool luchtkwaliteit (tabblad in het CIMLK) gebruiken uitwisselbestanden voor het uploaden en downloaden van de invoergegevens. De uitwisselbestanden hebben een specifieke naam en een specifieke indeling. Als uw bestanden niet voldoen aan deze indeling, dan kan het CIMLK de bestanden én de gegevens niet verwerken.
Bestandsformaat van de uitwisselbestanden
De uitwisselbestanden hebben een specifieke (kolom)indeling die gebaseerd is op het informatiemodel van het CIMLK. Het CIMLK kent 2 bestandsformaten voor de uitwisselbestanden:
- CSV-bestand (puntkomma gescheiden tekst bestand)
- Shape-bestand
Voor veehouderijen is alleen het CSV-bestand beschikbaar.
De uitwisselbestanden kunt u ook gebruiken voor een eigen berekening met de Rekentool luchtkwaliteit.
Welk bestandsformaat u gebruikt en hoe u de uitwisselbestanden actualiseert met uw gegevens hangt af van uw eigen procedures en mogelijkheden om bestanden te kunnen bewerken. U mag de bestandsformaten door elkaar gebruiken. U maakt bijvoorbeeld het wegvakkenbestand in een Shape-bestand en de receptoren als CSV-bestand.
U kunt de uitwisselbestanden zelf maken. Let er dan ook op dat u de juiste datatypes, kolomnamen en kolomvolgorde aanmaakt. Het is gemakkelijker om een download uit het CIMLK te maken en die te bewerken. Na het bewerken gaat u deze bestanden weer uploaden in het CIMLK.
Tip: U maakt een download desnoods van een andere wegbeheerder. Vervolgens de bestanden helemaal leeg maken en daarna vullen met uw eigen gegevens. Zo weet u zeker dat de kolomnamen en kolomvolgorde goed staan.
Kolomvolgorde en extra kolommen
De uitwisselbestanden hebben een vaste kolomvolgorde. Deze kolomvolgorde is voor de verwerking van de gegevens in het CIMLK belangrijk. Als u de volgorde verandert kan het CIMLK uw bestand niet goed inlezen en krijgt u foutmeldingen bij het uploaden.
Dit geldt ook voor kolommen die niet in het uitwisselbestand thuis horen. U mag tijdens het bewerken van het uitwisselbestand op uw eigen computer best een kolom toevoegen, zolang u die kolom maar verwijdert voordat u het bestand gaat uploaden in het CIMLK.
Elk type geo-object heeft eigen uitwisselbestand
Het CIMLK bevat verschillende typen geometrische objecten. Elk van deze objecten heeft een eigen uitwisselbestand. In totaal kent het CIMLK de volgende 9 uitwisselbestanden:
- wegdelen (of segmenten)
- receptoren
- maatregelen (maatregelgebieden)
- correcties (correctiegebieden)
- rekenresultaten wegverkeer (CIMLK)
- rekenresultaten Rekentool luchtkwaliteit
- veehouderijen (veehouderijen gegevens)
- receptoren (veehouderijreceptoren)
- rekenresultaten veehouderijen
Op de pagina Documentatie van het CIMLK zijn 2 spreadsheets beschikbaar met een beschrijving van de uitwisselbestanden, 1 voor het wegverkeer en 1 voor veehouderijen. De spreadsheets beschrijven de indeling van de kolomnamen ten opzichte van de kolomnamen van de voormalige NSL-monitoringstool. In het informatiemodel (IMLK) van het CIMLK staat gedetailleerde informatie over de uitwisselbestanden en de mogelijke én toegestane waarden in de kolommen.
Deze spreadsheets zijn nadrukkelijk niet bedoeld als bron voor documentatie van het informatiemodel. Bij eventuele verschillen is de documentatie van het informatiemodel leidend.
Beschrijving van het CSV-bestand
CSV staat voor 'comma-separated values' en is een tekstbestand in tabelvorm. In een CSV-bestand is de data standaard gescheiden door een komma of een puntkomma (;). Het CIMLK gebruikt een puntkomma. Dit betekent dat de puntkomma niet gebruikt kan worden in de gegevens zelf. Een CSV-bestand kunt u in een spreadsheet, zoals Microsoft Excel, of een tekst-editor inlezen en ook als CSV-bestand weer opslaan.
Op de eerste regel in een CSV-bestand staan de kolomnamen. De kolomnamen zijn in een CSV-bestand ongevoelig voor hoofdletters en hoeven dus niet camelCase geschreven te zijn. Na de eerste regel volgen per regel de gegevens, ook allemaal gescheiden door een puntkomma.
Het decimaal scheidingsteken is volgens de internationale standaard in een CSV altijd een punt (.). Dit is anders dan gebruikelijk in Nederland waar het decimaalteken een komma is (,).
Tip: Als op uw computer de komma als decimaalteken is ingesteld, kan dit problemen opleveren bij het inlezen en exporteren van CSV-bestanden in een spreadsheet. Dit kunt u voorkomen door in de spreadsheet de punt als decimaalteken in te stellen. In Excel doet u dit via het menu Bestand > Opties > Geavanceerd en dan 'Scheidingsteken van systeem gebruiken' aan- of uitvinken.
Tekstuele attributen zijn standaard in een CSV voorzien van een dubbele quote (") aan het begin en einde van de tekst. In de CSV-bestanden voor het CIMLK is dit niet nodig. Het is in het CIMLK niet toegestaan om speciale karakters, zoals een dubbele quote, puntkomma of vreemde karakters, in teksten te gebruiken.
De geometrie wordt beschreven in het WKT-formaat (Well-known Text).
Leeg veld in CSV-bestand
In de toelichting van het format van de twee uitwisselbestanden is het volgende aangegeven voor de veldvulling.
- ´x´ = verplicht of wordt altijd ingevuld
- ´optioneel (leeg)´ = naar keuze vulling of leeg
- ´systeem vult in´ = het systeem van bijbehorende activiteit vult waarde in
- ´-999´ = waardeveld dat een blanco vulling kent.
Optie: als die attributen wel een getal kunnen bevatten mag u er het getal -999 invullen (zie Leeg veld in Shapefile).
Byte Order Mark in het bestand
Sommige programma's maken bestanden die beginnen met een Byte Order Mark (BOM). Dit is een typische utf-8 code die niet zichtbaar is, maar wel vervelende consequenties kan hebben. Het CIMLK kan bij het uploaden hierdoor een onbekende fout geven en uw bestand niet inlezen.
De BOM in een CSV-bestand is niet nodig. Mocht uw bestand een BOM bevatten dan kunt u die dus gewoon verwijderen. Dit kan in het programma dat u gebruikt heeft of door het bestand in te lezen in een spreadsheet-programma, zoals Excel of OpenOffice Calc, en daarna opnieuw als CSV-bestand op te slaan.
Beschrijving van de Shapefile
Het Shapefile-formaat is in 1998 ontwikkeld door het databedrijf Esri voor de uitwisseling van geografische bestanden. Alle GIS-pakketten kunnen omgaan met Shapefile. Het wordt nog steeds gebruikt, maar steeds meer vervangen door uitwisselformaten die beter aansluiten op de huidige eisen zoals GML en GeoPackage-database.
De Shapefile bestaat altijd uit ten minste 3 bestanden:
- een .shp-bestand met de locatie en vorm van de objecten
- een .dbf-bestand met attributen van die objecten in XBase-formaat
- een .shx-bestand dat voor elk object de index in het .shp-bestand bevat
De 3 bestanden hebben dezelfde naam voor de punt.
De Shapefiles gaan soms samen met extra bestanden. Deze zijn in het CIMLK niet nodig:
- een .prj-bestand (tekstbestand met gegevens over de gebruikte projectie)
- een .XML-bestand (algemene gegevens over de shapefile, in XML-formaat)
- een .sbn / .sbx-bestand (ruimtelijke indexen)
- een .ini-bestand (betekenis van de kolomnamen)
In een Shapefile kunnen de kolomnamen maximaal 10 karakters lang kan zijn. Hiervoor zijn in het CIMLK speciaal korte kolomnamen gemaakt.
In een Shapefile zou u wel speciale karakters zoals een dubbele quote of een puntkomma kunnen invoeren. Door beperkingen in de achterliggende systemen is dit in het CIMLK niet toegestaan.
Gebruik van een Shapefile
De Shapefile kunt u inlezen in alle GIS-pakketten. In het GIS-pakket kunt u vervolgens de objecten tonen zoals de kaartviewer van het CIMLK dat ook doet. In het GIS-pakket heeft u veel meer mogelijkheden in het tonen van de data. Daarnaast kunt u de data en de geometrie van de objecten veranderen en nieuwe objecten toevoegen. Het is ook mogelijk om in een GIS-pakket de geometrie van de overdrachtslijnen te maken en vervolgens op het scherm te tonen.
Leeg veld in Shapefile
Bij attributen die geen waarde bevatten vult u NULL in. Het Esri ArcView / ArcGIS-pakket staat de waarde NULL sinds enkele jaren niet meer toe. In dat geval maakt u het veld leeg of vult u in de attributen die een getal kunnen bevatten -999 in. In andere GIS-pakketten, zoals QGIS,kunt u nog wel NULL invullen om aan te geven dat het veld leeg is.