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

Wo finde ich weitere Informationen über die API? #17

Open thl-mot opened 1 year ago

thl-mot commented 1 year ago

Ich suche eine tiefergehende Dokumentation zur nina-api. Z.B. Vermisse ich eine BEschreibung welche werte manche Felder annehmen können, das betrifft vor allem Felder wie Severity, Urgency, Effective, Event, ... Sind dort ein Fester Wertebereich vorgegeben, oder ist das alles Freitext?

Bei der Abfrage https://nina.api.proxy.bund.dev/api31/dashboard/082150000000.json erhalte ich alle meldungten des Landkreises Karsruhe, ich möchte aber nur die Meldungen auswerten, die eine gezielte Gemeinde betreffen. Die Abfrage gab in meinem Fall folgendes Ergebnis: ` {

"id": "mow.DE-BW-KA-W138-20220827-001",
"payload": {
    "version": 2,
    "type": "ALERT",
    "id": "mow.DE-BW-KA-W138-20220827-001",
    "hash": "1f7ac6b8ae0e9e2a03754eeecc8cb08ab4c55e6c056a625bc50f4282bb4a4fa4",
    "data": {
        "headline": "Freisetzung einer Rauchwolke durch Brand",
        "provider": "MOWAS",
        "severity": "Minor",
        "msgType": "Update",
        "transKeys": {
            "event": "BBK-EVC-030"
        },
        "area": {
            "type": "ZGEM",
            "data": "10781+1,10794,100001"
        }
    }
},
"i18nTitle": {
    "de": "Freisetzung einer Rauchwolke durch Brand"
},
"sent": "2022-08-27T06:15:15+02:00"

}, `

Über die Detailabfrage ist erkennbar dass es sich um folgende Gemeinden handeln muss: Area Gemeinde/Stadt: Gemeinde Weingarten (Baden), Stadt Bruchsal, Stadt Stutensee Dieses Feld lässt sich aber nicht textuell auswerten, da, wenn die Anzahl der betroffenen Gemeinden zu groß wird, am Ende sinngemäß "und weitere 13 Gemeinden" steht. Somit kann ich aus diesem Feld nicht zuverlässig auswerten, ob meine Gemeinde betroffen ist.

In der Abfrage Dashboard von oben gibt es das Object Area, in dem wie ich annehme die SChlüssel von einzelnen Gemeinden komplett aufgelistet werden. Dabei sind einzelne Elemente mit +1 oder möglicherweise anderen Formeln angegeben. Wo finde ich die Beschreibung hierzu? Die Schlüssel die dort angegeben sind kann ich keinem AGS zuordnen, wie ist Hier der Zusammenhang zwischen Gemeinde und diesem Schlüssel?

Da die NINA App eine Filterung auf die Gemeinde zulässt, müssten die Daten der API das sicher auch zulassen.

buEtz commented 1 year ago

Hallo thl-mot, eine weitergehende Dokumentation ist (bisher) nicht öffentlich verfügbar und neue Erkenntnisse können gerne hier geteilt werden, sobald sie vorliegen.

Die Zuordnung der genauen Gemeinden scheit in deinem Beispiel über payload>data>area>data zu erfolgen. Die dort aufgeführten Zahlen (bw. Zahlenbereiche) entsprechen exakt den betroffenen Gemeinden, wenn man folgendes JSON zum dekodieren nimmt: Unter https://warnung.bund.de/assets/json/converted_gemeinden.json

t-huyeng commented 1 year ago

Für mich sieht es auch so aus, als ob +1 einfach bedeutet, dass die Gemeinde mit der Zahl +1 auch gemeint ist. Wahrscheinlich ist es einfacher, einen Bereich anzugeben: Gemeindeschlüssel + X Gemeinden (mit aufsteigender Zahl).

Für das angegeben Beispiel ergeben sich wie @buEtz beschrieben hat die im Text erwähnten Gemeinden:

 "10781": {
"RS": "082150090090",
"NAME": "Weingarten (Baden)",
"KFS": false,
"PKT": "8.5317,49.0502",
"EWZ": 10482
},
"10782": {
"RS": "082150109109",
"NAME": "Stutensee",
"KFS": false,
"PKT": "8.4708,49.0637",
"EWZ": 24541
},
"10794": {
"RS": "082155003009",
"NAME": "Bruchsal",
"KFS": false,
"PKT": "8.5977,49.1258",
"EWZ": 44644
},

Eine Zuordnung von 100001 ist mir nicht möglich.

Die archivierte Meldung ist hier zu finden: https://warnung.bund.de/api31/archive.mowas/mow.DE-BW-KA-W138-20220827-001_20220827061515.json bzw. https://warnung.bund.de/api31/archive.mowas/mow.DE-BW-KA-W138-20220827-001-mapping.json die History der Meldungen.

wattenre commented 7 months ago

Das passende GeoJson liegt hier:

https://warnung.bund.de/assets/json/gemeinden_polygons/{gemeinde_id}.geojson

wattenre commented 7 months ago

@t-huyeng @buEtz @thl-mot

Wisst ihr, wofür PHGEM, ZGEM und GRID stehen?

/api31/dashboard/{ARS}.json liefert z.B.

        "area": {
          "type": "ZGEM",
          "data": "10847,100001"
        },

/api31/warnings/{identifier}.json liefert passend dazu z.B.

      "parameter": [
        {
          "valueName": "warnVerwaltungsbereiche",
          "value": "081255004026"
        },
        {
          "valueName": "PHGEM",
          "value": "10847,100001"
        },
        {
          "valueName": "ZGEM",
          "value": "10847,100001"
        }
      ],
      "area": [
        {
          "areaDesc": "Stadt Eppingen mit allen Teilorten",
          "geocode": [
            {
              "valueName": "AreaId",
              "value": "0"
            }
          ]
        }
      ]

GRID kommt hier nun gar nicht vor, teilweise liefert aber bereits das dashboard:

        "area": {
          "type": "GRID",
          "data": "44423+2,45036+2,500001"
        },

und warnings liefert dann passend

      "parameter": [
        {
          "valueName": "warnVerwaltungsbereiche",
          "value": "010020000000"
        },
        {
          "valueName": "PHGEM",
          "value": "2078,100001"
        },
        {
          "valueName": "GRID",
          "value": "44423+2,45036+2,500001"
        }
      ],
      "area": [
        {
          "areaDesc": "Kiel",
          "geocode": [
            {
              "valueName": "AreaId",
              "value": "0"
            }
          ]
        }
      ]
t-huyeng commented 1 week ago

Bezüglich GRIDS könnte es sich ebenfalls um die INSPIRE Grids handeln. See https://github.com/bundesAPI/nina-api/issues/30