marlon360 / rki-covid-api

🦠🇩🇪📈 An API for the spread of covid-19 in Germany. Data from Robert-Koch-Institut.
https://api.corona-zahlen.org/
Creative Commons Attribution 4.0 International
250 stars 50 forks source link

Unterschiedliche Ergebnisse beim Abruf der Inzidenz / Fälle mit Tagesbegrenzung #350

Closed PC-Oldie closed 2 years ago

PC-Oldie commented 2 years ago

Moin,

der Aufruf https://api.corona-zahlen.org/districts/04012/history/cases/179 gibt ein Array von 0 ... 178 zurück - ok. Der Aufruf https://api.corona-zahlen.org/districts/04012/history/incidence/179 gibt allerdings nur ein Array von 0 ... 177 zurück. Es fehlt der älteste Tag. Der Stadtkreis ist Bremerhaven.

Noch ein Nachtrag. Kann es damit zusammenhängen, dass zufällig die Werte der Inzidenz am 30.5.21 und 31.5.21 absolut identisch sind? Denn, wenn ich andere Zeitspannen einsetze, dann tritt das Problem nicht auf.

Gruß Hans

Rubber1Duck commented 2 years ago

Hallo PC-Oldie, das ist ein bekannter Bug! siehe hierzu auch #82 Ich versuche es mal zu erklären: Die Inzidenz Werte werden nicht von irgendwo direkt abgefragt sondern aus der Anzahl der Fälle der Vorwoche berechnet. Das Programm fragt also die DB des RKI nach Fällen je Tag ab, und damit die Inzidenz vom 30.5.2021 berechnet werden kann werden 6 Tage mehr abgefragt (also 185). es werden also die Fälle je Tag ab dem 24.5.2021(inkl.) abgefragt. Die verwendete Datenbank des RKI weiss für Tage an denen es KEINE Fälle gab leider nicht einen Wert von 0 aus sondern einfach nichts, sprich es gibt den Tag nicht in der DB. Die Tage mit "0" zwischen zwei abgefragten Datums (was ist verdammt die Mehrzahl von Datum?) werden durch das Programm mit mit "0" und entsprechendem Datum aufgefüllt. Der erste Tag und sofern "0" am letzten Tag leider nicht! (der letzte Tag nicht da es schwer ist zu unterscheiden ob es schon eine Aktualisierung der DB für den Tag gab, und der erste nicht, tja, das ist der BUG) Der 24.5.2021 ist nun leider ein Tag mit 0 Fällen und auch noch der erste der abgefragt wird. Kannst du überprüfen indem du die tage mal auf 185 (179+6) setzt. der 24.5.2021 fehlt dann. setzt du die Tage mal auf 186 wird es nicht ein Eintrag mehr sondern direkt 2! der 23.5. ist dann dabei und der auch 24.5. mit "0". da der 24.5. in der Liste der Fälle fehlt ist die erste berechnete Inzidenz nicht der 30.5.2021 sondern der 31.5.2021 und der 30.5. fehlt in der liste der Inzidenzien. Wiegesagt, ist ein bekannter Bug der auch schon in mehreren Issues behandelt aber leider noch nicht beseitig wurde. Ich setze hier mal die Label Bug und Duplicate ............... es gibt dazu auch einen PR #241 der aber noch nicht in den Programm code eingeflossen ist!

duplicate to

82

123

231

PR #241

PC-Oldie commented 2 years ago

Moin Rubber1Duck,

vielen Dank für die Erklärungen. Dann werde ich einfach wie bislang immer die kompletten Daten verarbeiten.

Gruß Hans