Hier sind einige Beispiele aufgeführt, welche in der Entwicklung des Projekts anfällig für Fehler waren. Diese Liste ist nicht erschöpfend und sollte im Betrieb des Projekts ergänzt werden.
PX-Dateien sind etwas speziell beim download, da diese über die API des BFS bezogen werden. Die API benötigt dabei genaue Angaben, welche Variablen (Indikatoren) aus einem Datensatz eingelesen werden sollen. Ausserdem muss angegeben werden, welche Ausprägungen (Werte) heruntergeladen werden sollen. Diese Angaben werden im Workflow des decarbmonitoring-packages für jeden Indikator in der Excel-Liste hinterlegt. Hierbei kann es leicht zu Fehlern kommen, wenn sich Tippfehler einschleichen oder Ausprägungen vergessen werden.
Hier ein Beispiel für den Indikator M2 und wie die Einträge in der Excel zustande kommen.
DATASET_ID | INDICATOR_NAME | DIMENSION1_COL | DIMENSION1_ID | DIMENSION1_NAME |
---|---|---|---|---|
M2 | Antriebsart bei Gütertransportfahrzeugen - Fahrzeugbestand | Treibstoff | 100,200,300,310,400,500,550,600,9900 | Benzin,Diesel,Benzin-elektrisch: Normal-Hybrid,Benzin-elektrisch: Plug-in-Hybrid,Diesel-elektrisch: Normal-Hybrid,Elektrisch,Wasserstoff,Gas (mono- und bivalent),Anderer |
Die Angaben in den Spalten DIMENSION1_COL
, DIMENSION1_ID
und DIMENSION1_NAME
MÜSSEN EXAKT den Ausprägungen/Codierungen der BFS-Tabellen entsprechen. Die Codierungen können online entweder über einen Click auf JSON-Struktur unter Weiterführende Links oder über das STAT-TAB Tool des BFS abgerufen werden.
Aus dem STAT-TAB Tool lassen sich die Codes über einen Click auf Über die Tabelle und Machen Sie diese Tabelle in Ihrer Applikation verfügbar abrufen. Dazu einfach vorab die gewünschten Merkmale und Ausprägungen selektieren, als Ausgabe Tabelle wählen und auf den Button Weiter
am Ende der Seite clicken.
Die Angaben zu Dimensionen und Ausprägungen lassen sich 1:1 auf die räumlichen Einheiten übertragen. Da diese in px-Tabellen auch als Dimensionen gesehen werden, müssen die Einträge in den Spalten GEBIET_COL
und GEBIET_ID
den entsprechenden Codes in der PX-Tabelle gleichen. Für den Kanton Zürich und die Schweiz werden oft (leider nicht immer) die Codes 0
und 1
verwendet.
PX-Tabellen werden über die API des BFS bezogen. Wenn von derselben IP-Adresse innerhalb kurzer Zeit zu viele Abfragen gestellt werden (= Daten heruntergeladen) kann es vorkommen, dass die API einen Fehler wirft. Dieser sieht in R folgendermassen aus:
Caused by error in `pxweb::pxweb_advanced_get()`:
! Too Many Requests (RFC 6585) (HTTP 429).
Leider kann man in diesem Fall nichts anderes tun als warten, bis die API wieder Zugriffe erlaubt.
Hier ein Beispiel anhand 3 verschiedener Indikatoren.
DATASET_ID | DATASET_NAME | DOWNLOAD_FORMAT | DATA_ORGANIZATION |
---|---|---|---|
G1 | Heizsysteme in Gebäuden | px | bfs |
KG4 | Treibhausgas-Fussabdruck | xlsx | bfs |
LF3 | Eingesetzter Stickstoffdünger | csv | awel |
Die Funktionalität im Package ist so konzipiert, dass je nach DATA_ORGANIZATION
und DOWNLOAD_FORMAT
unterschiedliche Methoden aufgerufen werden. Dies ist insbesondere für px-Dateien vom BFS wichtig. Schleicht sich also ein Schreibfehler bei bfs ein, kann die richtige Methode für den Download der Datei nicht gefunden werden. Analog dazu sollte auch beim DOWNLOAD_FORMAT
darauf geachtet werden, keine Schreibfehler einzubauen.