Direkt zum Inhalt springen
library(mvwizr)
#> mvwizr geladen: v1.4.0

Einleitung

Das vorliegende R-Paket mvwizr setzt Eingabedateien (für die einlesen_*() Funktionen) resp. Dataframes (Funktionen für Berechnungen und Visualisierungen) mit spezifizierter Struktur voraus. Im Grundsatz überprüft mvwizr nicht die genaue Struktur einer jeden Eingabe, sondern prüft das Vorhandensein bestimmter relevanter Elemente (v.a. Spaltennamen) und führt einige Tests durch um Daten zu validieren. Im Folgenden werden Eingaben mit den geforderten Strukturen beschrieben. Beispieldaten sind ebenfalls im Paket enthalten und referenziert.

The Big Picture

Die verschiedenen hier benutzten Tabellen stehen in einer Beziehung zueinander, wobei die Regulierungsdaten und Qualitätskriterien nur über die VSA Substanz_ID zugänglich sind:

Mikroverunreinigungsdaten (Messdaten)

MV-Daten GBL Kt. Bern

Die MV-Daten des GBL Kt. Bern sind kommagetrennte Textdaten, bei denen jede Zeile ein Messwert darstellt. Die folgenden Spalten müssen (mindestens) in den Daten enthalten sein. Dabei sind auch erwartete R-Datentypen und Formate angegeben:

Variable Beschreibung Formatierung
CODE Stationscode character
STANDORT Standort Station character
NAME Name des Gewässers character
PROBEARTID Art der Probe: Stichprobe (S), Mischprobe (SaP) oder berechnete Mischprobe (bSaP) character
BEGINNPROBENAHME Beginn der Probenahme datetime (DD/MM/YYYY hh:mm:ss)
ENDEPROBENAHME Bei Mischproben Ende der Probenahme. Bei Stichproben leer. datetime (DD/MM/YYYY hh:mm:ss)
PARAMETERID_BAFU BAFU-Schlüssel für Substanz. Wird verwendet um Daten mit der VSA ID_Substanz zu verknüpfen. character
BEZEICHNUNG_BAFU Deutsche Parameter-Bezeichnung des BAFU. Wird von Plotfunktionen verwendet für Beschriftungen. character
OPERATOR Falls “<”, liegt der Messwert unter der Bestimmungsgrenze und die Bestimmungsgrenze wird im Feld WERT_NUM angegeben. character
EINHEIT Einheit des Messwertes in “ng/l” oder “pg/l” character
WERT_NUM Messwert oder berechneter Wert numeric
MSTLTYP Messstellentyp character
PARAMETERGRUPPEID Parametergruppencode des GBL integer
PARAMETERGRUPPE Bezeichnung der Parametergruppe des GBL character

Beispieldaten finden sich im Paket:

mv_beispiele <- c("Daten_Urtenentxt.txt", "Daten_Balmoosbach.txt", "Daten_Chruemlisbachxt.txt", "Stichproben_Sensetal.txt", "Daten_Balmoosbach_bsp_berechnet.txt")
system.file("extdata", mv_beispiele, package = "mvwizr")

NAWA_MV-Daten

mvwizr kann auch NAWA-MV-Daten einlesen - entweder mit einlesen_nawa() für einzelne Dateien (oder Dataframes im NAWA-MV-Format) oder mit batch_einlesen_nawa() für mehrere Dateien. Die NAWA-MV-Dateien liegen in der Regel im Format csv (mit Trennzeichen getrennt) oder xlsx (Excel) vor. Die Struktur ist dabei vorgegeben (definiert durch das BAFU), wobei die Spaltennamen auf Deutsch oder Französisch angegeben sein können. Dabei müssen mindestens die folgenden Variablen vorhanden seine:

Variable Beschreibung Formatierung
Messsstelle ID Stationscode (entspricht CODE bei GBL-Daten) character
Messstelle Name Standort Station (entspricht STANDORT bei GBL-Daten) character
Probenahme Ort Name des Gewässers/Ort (entspricht NAME bei GBL-Daten) character
Probenahme Art Art der Probe: Sammelprobe (muss “sammelprobe” oder “composite” enthalten; wird zu SaP - siehe PROBEARTID bei GBL-FOrmat), Stichprobe (muss “stichprobe” oder “ponctuel” enthalten; wird zu S). Achtung: Unterstützt momentan keine Unterscheidung zwischen echten Sammelproben und berechneten Sammelproben! character
NAWA Probenahme Beginn (Datum und Uhrzeit) Beginn der Probenahme (entspricht BEGINNPROBENAHMEbei GBL-Daten). datetime (DD.MM.YYYY hh:mm:ss)
NAWA Probenahme Ende (Datum und Uhrzeit) Bei Mischproben Ende der Probenahme. Bei Stichproben leer (entspricht ENDEPROBENAHME bei GBL-Daten). datetime (DD.MM.YYYY hh:mm:ss)
Parameter Spaltenname auf Deutsch oder Französisch. Enthält entweder BAFU-Parameter-ID (Schlüssel) oder die Deutsche Bezeichnung oder die Französische Bezeichnung. character
Messwert Messwert (wird zu WERT_NUM umgewandelt). Falls <BG, dann markiert mit “<” oder 0 gesetzt. numeric
Bestimmungsgrenze Bestimmungsgrenze - immer angegeben.
Einheit Einheit des Messwertes in pg/l, ng/l, µg/l oder mg/l
Parameter, Heuristik und Manifest

Obwohl das NAWA-MV-Format klar definiert ist, sind die NAWA-MV-Dateien oft nicht in einem ideal maschinenlesbaren Format. Insbesondere die folgenden Punkte verkomplizieren das Einlesen:

  • Header: In NAWA-MV-Excel-Dateien gibt es einen Header, der Infos zur Datenlieferung enthält. Dieser steht vor den eigentlichen Tabellendaten, ist aber nicht unbedingt immer gleich lang.
  • Sprache der Datei/Spalten: Die NAWA-MV-Definition sieht vor, dass die Spaltennamen sowohl auf Deutsch als auch Französisch geschrieben sein können.
  • Parameter-Spalte: Obwohl ein Schlüssel für die Identifizierung aller MV existiert (die BAFU-Parameter-ID, die keine Sonderzeichen enthält, sonst aber sehr ähnlich wie der Substanzname ist), kann die Parameter-Spalte entweder diesen Schlüssel, die Deutsche Bezeichnung oder die Französische Bezeichnung enthalten - wobei unglücklicherweise nicht klar ist, um welche Art es sich handelt.
  • Trennzeichen: Bei Text-Dateien können unterschiedliche Trennzeichen verwendet werden.
  • Encoding: Bei Text-Dateien können unterschiedliche Encodings verwendet werden. Vor allem ältere Datenbanken exportieren standardmässig nicht als UTF-8.

Alle diese Parameter können beim Einlesen mit der Funktion einlesen_nawa angegeben werden. Falls sie nicht oder unvollständig angegeben werden, so versucht die Funktion mittels Heuristik die korrekten Funktionsargumente zu “erraten”.

Für das Batch-Einlesen mehrerer NAWA-MV-Dateien kann die Funktion batch_einlesen_nawa verwendet werden. Diese akzeptiert optional auch eine sogenannte Manifest-Datei, die die Konfiguration (der oben genannten Einstellungen) für jede Input-Datei aufführt. Eine Vorlage dieser Datei kann mit schreibe_nawa_import_manifest_template in eine Excel-Datei geschrieben werden.

Regulierungen und Zulassungen

Hierbei handelt es sich um die Tabelle anf_Substanz_recht.xlsx des VSA, welche Informationen zum Regulierungs- und Zulassungsstatus verschiedener Mikroverunreinigungen auflistet (zum Zeitpunkt/Jahr der Erstellung der Tabelle - in diesem Fall 2024).

Die folgenden Spalten müssen (mindestens) in der Tabelle enthalten sein:

Variable Beschreibung Formatierung
ID_Substanz VSA-ID integer
Name Stoffbezeichnung des VSA character
Informationen Recht Zeichenkette mit codierten Regulierungsinformationen character
GSCHV Gibt an, ob und wie die Substanz in der GSCHV reguliert ist. 1 = Spezifischer Wert in Anh. 2; 2 = allgemeiner Grenzwert von 0.1 µg/l integer

Legende zu den Informationen Recht:

ID_Recht Rechtsordnung Kürzel Kommentar
1 PSMV Anhang 1 P Pflanzenschutzmittel zugelassen im aktuellen Jahr in Verordnung und Verzeichnis
2 PSMV Anhang 10 Zu überprüfende Pflanzenschutzmittel
3 PSMV Substitutionskandidat Anhang 1 Abschnitt E - Substitutionskandidaten
4 PSMV nicht zugelassen PX Pflanzenschutzmittel Wirkstoffe im akutellen Jahr nicht zugelassen weder Verordung noch Verzeichnis
5 Zugelassene Biozide B Biozide mit einem Gesuch zur Zulassung
6 Biozide non-inclusions BX Biozide die nicht zugelassen wurden
7 Schweizspezifische MV ARA Liste von C. Götz
8 Schweizspezifische MV diffus Liste aus diffusem Projekt
9 Leitsubstanzen ARA Eliminationseistung ARA Leitsubstanzen für die Überprüfung der Eliminationsleistung von ARA
10 WRRL WRRL Stoffe is in der Wasserrahmenrichtlinie als Prioritär eingestuft
11 neue Priortäre Stoffe WRRL Liste neuer Prioritärer Stoffe der EU (Stand 2015)
12 Watchlist EU WL.EU Stoff ist auf der Watchlist der EU
14 GSCHV GSchV Anhang 2 GSchV mit subst. spezifischer, ökotox. begründeter num. Anf für anhaltende Belastung in Gew. die nicht TW dienen
15 Arzneimittel HA Human Arzneimittel gemäss Liste der Swissmedic
16 Tierarzneimittel TA Tierarzneimittel gemäss Liste der vetpham
17 PSM in Verzeichnis aber nicht Verordnung PX* Pflanzenschutzmittel zugelassen im aktuellen Jahr nicht in Verordnung aber im Verzeichnis
18 PSM in Verordnung aber nicht Verzeichnis PX° Pflanzenschutzmittel zugelassen im aktuellen Jahr in Verordnung aber kein zugelassenes Produkt im Verzeichnis

Eine Kopie dieser Tabelle befindet sich im Paket:

system.file("extdata", "anf_Substanz_recht.xlsx", package = "mvwizr")

Qualitätskriterien

Hierbei handelt es sich um Qualitätskriterien des VSA zu Mikroverunreinigungen. Die folgenden Spalten müssen (mindestens) in der Tabelle enthalten sein:

Variable Beschreibung Formatierung
ID_Substanz VSA-ID integer
CQK (µg/l) Chronisches Qualitätskriterium numeric
AQK (µg/l) Akutes Qualitätskriterium numeric
P_chron Gibt an, ob CQK zu berücksichtigen für Mischtoxizität bei Pflanzen integer
I_chron Gibt an, ob CQK zu berücksichtigen für Mischtoxizität bei Invertebraten integer
V_chron Gibt an, ob CQK zu berücksichtigen für Mischtoxizität bei Vertebraten integer
P_akut Gibt an, ob AQK zu berücksichtigen für Mischtoxizität bei Pflanzen integer
I_akut Gibt an, ob AQK zu berücksichtigen für Mischtoxizität bei Invertebraten integer
V_akut Gibt an, ob AQK zu berücksichtigen für Mischtoxizität bei Vertebraten integer
Robustheit QK Robustheit des QK. Wert 1-3, wobei QK mit einem Wert von 3 nicht verwendet werden integer

Eine Kopie dieser Tabelle befindet sich im Paket:

system.file("extdata", "Dat_Qual_kriterien.xlsx", package = "mvwizr")

VSA-ID Lookup

Hierbei handelt es sich um eine Tabelle mit deren Hilfe die Parameter-ID des BAFU mit der Substanz_ID des VSA verknüpft werden kann. Die folgenden Spalten müssen (mindestens) in der Tabelle enthalten sein:

Variable Beschreibung Formatierung
ID_Substanz VSA-ID integer
Parameter-ID BAFU Parameter-ID character

Eine Kopie dieser Tabelle befindet sich im Paket:

system.file("extdata", "Tab_Substanzen.xlsx", package = "mvwizr")

BAFU Datenaustausch Lookup

Hierbei handelt es sich um eine Tabelle des BAFU um Deutsche und Französische Bezeichnungen für die Stoffe mit dem BAFU-Parameter-ID Schlüssel (Bezeichnung ohne Sonderzeichen) abzugleichen. Die folgenden Spalten müssen (mindestens) in der Tabelle enthalten sein:

Variable Beschreibung Formatierung
Parameter-ID / ID paramètre BAFU Parameter-ID character
Deutsche Bezeichnung / Désignation en allemand Deutsche Bezeichnung character
Französische Bezeichnung / Désignation en français Französische Bezeichnung character

Eine Kopie dieser Tabelle befindet sich im Paket:

system.file("extdata", "BAFU_Liste_Parameter_Bezeichnungen_Datenaustausch.xlsx", package = "mvwizr")