bundesAPI / nina-api

Erhalten Sie wichtige Warnmeldungen des Bevölkerungsschutzes für Gefahrenlagen wie zum Beispiel Gefahrstoffausbreitung oder Unwetter per Programmierschnittstelle.
https://nina.api.bund.dev/
78 stars 5 forks source link

Problem mit dem Format des amtlichen Gebietsschlüssel #1

Closed jumoog closed 2 years ago

jumoog commented 2 years ago

Ausgangslage:

Der Amtlicher Gebietsschlüssel muss im Format 0916200000000 verwendet werden.

Probleme:

falsches Schüsselformat

Gemäß dem angegebene Beispiel JSON lautet der amtliche Gebietsschlüssel für z.B. Rednitzhembach 095760137137. Eine Anfrage mit dem Gebietsschlüssel liefert aber einen 404 Fehler.

Um für dieses Gebiet Informationen zu bekommen, muss bei der Anfrage der amtliche Gebietsschlüssel für den Landkreis Roth 095760000000 verwendet werden.

HTML im Fehlerfall

Die API sollte in einem Fehlerfall auch die Antwort als JSON senden. Werden bei der Anfrage nur statische JSON Dateien ausgeliefert?

Mögliche Lösung:

Die API ignoriert die letzten 7 Stellen im amtlichen Gebietsschlüssel.

jumoog commented 2 years ago

Macht es Sinn das dem BBK zu melden?

LilithWittmann commented 2 years ago

Ich glaube das ist erwartetes Verhalten. Das sind Dateien auf einem nginx, die nur für die ersten 5 Stellen der amtlichen Gebietsschlüssel generiert werden. Der Rest muss mit Nullen aufgefüllt werden.

LilithWittmann commented 2 years ago

Habe das mal in der Doku so ergänzt.

wattenre commented 2 years ago

Ich bin bei meinen Tests auch auf dieses Problem gestoßen und hatte im allgemeinen Repository einen Issue erstellt, bis ich dann den Hinweis und diesen Issue entdeckt habe. Gibt es momentan keine Möglichkeit, die Warnungen auf Gemeindebene auszulesen, so wie es auch die APP seit mehr als einem halben Jahr macht?

Nachfolgend nochmals mein ursprünglicher Beitrag:

Notice, not the AGS ("Amtlicher Gemeindeschlüssel") is used, as done by DWD; instead, the RS ("Bundeseinheitlicher Regionalschlüssel") is used. But only the RS of city districts and county districts work, not those of towns.

The following request returns all warnings for "Stadtkreis Heilbronn" / "Universitätsstadt Heilbronn" (["081210000000","Heilbronn, Universitätsstadt",null]): https://warnung.bund.de/api31/dashboard/081210000000.json

But the following request does not return the warnings for "Möckmühl" (["081255007063","Möckmühl, Stadt",null]): https://warnung.bund.de/api31/dashboard/081255007063.json

Instead, we must use the RS from "Landkreis Heilbronn" (which is not provided in the linked AGS-Table): https://warnung.bund.de/api31/dashboard/081250000000.json But in this case, we receive all the warnings from the county district and not only the ones from the targeted town.

How to receive only the warnings from one town (e.g. Möckmühl), as it is done nowadays by the NINA App (warning level == "Gemeinde")?

wattenre commented 2 years ago

Ich habe soeben mal die GET Anfragen der Website https://warnung.bund.de/meldungen verfolgt und dabei festgestellt, dass die Website zuerst das Polygon einer Gemeinde herunterlädt und anschließend alle Meldungen eines Landkreises über dessen Bundeseinheitlichen Regionalschlüssel abruft. Vermutlich wird dann das Polygon einer jeden Warnmeldung mit dem Polygon der Gemeinde auf Überschneidungen abgeglichen. So können dem Nutzer nur die Warnmeldungen angezeigt werden, die auch innerhalb der definierten Gemeinde bzw. in der App sogar innerhalb des definierten Gebietes liegen. Eine Schnittstelle scheint es also leider nicht zu geben.