Der RKI-Wrapper greift auf die API des Robert Koch-Instituts zu und gibt die ausgelieferten Daten in einer für Datawrapper geeigneten Form zurück.
Der Wrapper holt in einer einzelnen Anfrage die Daten bis zum gewählten End-Datum gemeldeten Fälle und aggregiert die Fallzahlen pro Tag und wahlweise nach weiteren Feldern, wie Altersgruppe oder Landkreis. Im Anschluss berechnet er die kumulative Summe der Fallzahlen vom ersten Meldetag an (=2020-01-24).
Hinweis: Um herauszufinden, welche Werte man in die Felder einsetzen kann, lohnt sich ein Blick in den Überblick der Daten. Eine detaillierte Beschreibung der RKI-API findet sich in RKI-API.md.
Für die Verwendung der Daten in Apps und interaktiven Grafiken (Datawrapper) stellen wir einen API bereit, die das Abfragen der RKI-Daten nach bestimmten Parametern (Zeitpunkt, Bundesland, Dateiformat) ermöglicht.
URL: https://europe-west3-brdata-corona.cloudfunctions.net/rkiApi/
startDate| optional | Default: '2020-01-24' (= erster Tag, den das RKI liefert): Gibt an, ab welchem Tag der Wrapper Daten zurück gibt. Hinweis: Die aggregierten Fallzahlen enthalten auch weiter zurückliegende Fälle alsfromDate.endDate| optional | Default: aktuelles Datum: Gibt an, bis zu welchem Tag der Wrapper Daten zurück gibtdateField| optional | Default: Meldedatum: Gibt an, zu welchem Datum Fälle zählen. Mögliche Werte sindMeldedatumundRefdatum, wobeiRefdatumden Erkrankungsbeginn (= Datum des Symptombeginns) darstellt. Dieser kann vor, aber auch nach demMeldedatumliegen. Falls der Erkrankungsbeginn unbekannt ist, gilt dafür das Meldedatum.sumField| optional | Default: AnzahlFall: Gibt an, welche Werte summiert und ausgegeben werden. Mögliche Werte sindAnzahlFall,AnzahlTodesfallundAnzahlGenesen.group| optional: Gibt an, nach welchem Feld aggregiert wird. Hinweis: Bis jetzt nur einzelne Felder wählbar, z.B.group=Geschlecht. Fallsgroup=Regierungsbezirkgesetzt ist, muss auch der Filterbundesland=Bayerngesetzt seinfiletype| optional | Default: json: Wählt das Ausgabeformat. Hinweis: Für Datawrapper wähleformat=csvgeschlecht,altersgruppe,altersgruppe2,bundesland,landkreis,regierungsbezirk| optional: Filtert die entsprechenden Felder. Mehrfachauswahl ist möglich, z.B. gibtbundesland=Bayern&geschlecht=Mdie Anzahl der gemeldeten infizierten Männer in Bayern zurück. Mehrfachauswahl innerhalb der Felder ist auch möglich, z.B.landkreis=SK München,Sk Hamburg. Hinweis:altersgruppe2teilt die Personen in 5-Jahresgruppen ein.sumValue| optional | Default: true: Tageswerte aufaddieren (Summe aller Gemeldeten bis zum jeweiligen Tag) oder nur die Fälle des jeweiligen Tages anzeigen. Nur wirksam beifiletype=csv.newCases| optional | Default: false: Sollen zusätzlich die neuen Fälle in den FeldernnewCasesundsumNewCasesausgegeben werden. Neue Fälle sind alle, die nur in der aktuellen Publikation des RKI und keiner vorherigen enthalten sind. Hinweis:sumNewCasesmacht nur für den aktuellen Tag Sinn.newCasesim Objekt gibt an, wievele der neuen Fälle dem Datum im Objekt zugeordnet sind.currentCases| optional | Default: false: Wenntrue, berechnet der Wrapper die Anzahl der Infizierten und Genesenen pro Tag und ergänzt die FeldercurrentlyInfected,currentlyRecoverdunddeathSum, wobeideathSumdie Summe der Todesfälle bis zum jeweiligen Tag ist.
Allgemein Hinweise zur Verwendung der Parameter:
- Bei Mehrfachauswahl innerhalb eines Feldes sind die Werte mit
,ohne Leerzeichen anzugeben. - Die Filter-Keys sind in Kleinbuchstaben anzugeben, z.B.
bundesland. - Alle Werte sind ohne Anführungszeichen anzugeben.
- Die verschiedenen Filterfelder sind mit logischem
ANDverknüpft. Mehrfachauswahl innerhalb eines Feldes ist mitORverknüpft. - Abweichung der Schreibweise macht den Filter wirkungslos.
- Ergänzend zur Filterung ist es fast immer sinnvoll auch den Parameter
groupmit einem der Filterfelder zu besetzen.
Entwicklung der Fallzahlen für Deutschland nach Erkennungsdatum abfragen:
https://europe-west3-brdata-corona.cloudfunctions.net/rkiApi/query
?dateField=Refdatum
Entwicklung der Fallzahlen für Deutschland ab dem 12.03.2020 abfragen:
https://europe-west3-brdata-corona.cloudfunctions.net/rkiApi/query
?startDate=2020-03-12
Entwicklung der Fallzahlen für Bayern abfragen:
https://europe-west3-brdata-corona.cloudfunctions.net/rkiApi/query
?group=Bundesland
&bundesland=Bayern
Entwicklung der Fallzahlen für alle bayerischen Regierungsbezirke abfragen:
https://europe-west3-brdata-corona.cloudfunctions.net/rkiApi/query
?group=Regierungsbezirk
&bundesland=Bayern
Entwicklung der Fallzahlen für drei spezifische Regierungsbezirke (Mittelfranken, Oberfranken, Unterfranken) als CSV-Tabelle abfragen:
https://europe-west3-brdata-niels.cloudfunctions.net/rkiApi/query
?group=Regierungsbezirk
&bundesland=Bayern
®ierungsbezirk=Mittelfranken,Oberfranken,Unterfranken
&filetype=csv
Entwicklung der Fallzahlen für alle bayerischen Landkreise abfragen:
https://europe-west3-brdata-corona.cloudfunctions.net/rkiApi/query
?group=Landkreis
&bundesland=Bayern
Entwicklung der Fallzahlen für den Landkreis Tirschenreuth abfragen:
https://europe-west3-brdata-corona.cloudfunctions.net/rkiApi/query
?group=Landkreis
&bundesland=Bayern
&landkreis=LK Tirschenreuth
- Repository klonen
git clone https://... - Erforderliche Module installieren
npm install - Entwicklungsserver starten
npm watch
Um die Module installieren und die Entwicklerwerkzeuge nutzen zu können, muss vorher die JavaScript-Runtime Node.js installiert werden. Informationen für Entwickler finden sich weiter unten.
Diese Anleitung geht davon aus, dass bereits ein Google Cloud-Konto vorhanden und ein Rechnungskonto eingerichtet ist. Außerdem sollte das Google Cloud-Kommandzeilenwerkzeug installiert und mit einem Benutzerkonto verknüpft sein.
Neues Projekt mit der ID brdata-corona erstellen. Der Parameter --name ist optional.
$ gcloud projects create brdata-corona --name=30-BRData-coronaDas Projekt als aktuelles Arbeitsprojekt festlegen:
$ gcloud config set project brdata-coronaGoogle Cloud Function für das aktuelle Projekt aktivieren:
$ gcloud services enable cloudfunctions.googleapis.comRechenzentrum europe-west3 (Frankfurt) als Ziel für das Funktions-Deployment festlegen.
$ gcloud config set functions/region europe-west3API-Funktion deployen: In diesem Beispiel wird der nicht authentifizierte Zugriff von außerhalb erlaubt, um den Datenaustausch zwischen API und beispielsweise einer Web-App zu ermöglichen:
$ gcloud functions deploy rkiApi --runtime=nodejs10 --trigger-http --allow-unauthenticatedUm das Skript index.js lokal zu testen, verwendet man am besten das Google Functions Framework. Das Functions Framework kann mit dem Befehl npm run watch gestartet werden. Das hat den Vorteil, dass das Skript jedes Mal neu geladen wird, sobald man Änderungen am Code vornimmt.
Man kann das Functions Framework aber auch manuell installieren und ausführen:
$ npm i -g @google-cloud/functions-frameworkFunktion rkiApi starten:
$ functions-framework --target=rkiApiAPI-Anfrage stellen (Beispiel):
$ curl -X GET 'localhost:8080/query?group=Landkreis&bundesland=Bayern'