Ankündigung

Einklappen
Keine Ankündigung bisher.

Corona-API

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Corona-API

    Der Beitrag liefert eine kleine Einführung zur Nutzung der Corona-API ( Robert Koch-Institut API (v2) ).
    Die Nutzung der API ist vom Grundsatz sehr einfach.
    PHP-Code:
    $url "https://api.corona-zahlen.org/districts/09162"
    $json file_get_contents($url);
    $array json_decode($jsontrue);

    var_dump($array); 
    Geliefert wird immer ein JSON-String oder nach Dekodierung ein mehrdimensionales Array. Die 09162 in der URL ist der sog. allgemeine Gemeindeschlüssel (ags). Hier konkret für die Stadt München.
    Für andere Städte und Gemeinden kann die Ermittlung der ags über die API selbst erfolgen. Die folgenden Code-Beispiele nutzen dafür PHP-Klassen die alle auf https://github.com/jspit-de verfügbar sind.

    PHP-Code:
    $search 'berlin,neukölln';
    $url 'https://api.corona-zahlen.org/districts';
    $json file_get_contents($url);
    $data TableArray::createFromJson($json,["data"])
      ->
    filterLikeAll('name',$search)
      ->
    fetchAll()
    ;
    debug::write($data); 
    Ausgabe:
    PHP-Code:
    array (
      
    => 
      array (
        
    'ags' => "11008",
        
    'name' => "Berlin Neukölln",
        
    'county' => "SK Berlin Neukölln",
        
    'state' => "Berlin",
        
    'population' => 321123,
        
    'cases' => 20925,
        
    'deaths' => 417,
        
    'casesPerWeek' => 166,
        
    'deathsPerWeek' => 0,
        
    'stateAbbreviation' => "BE",
        
    'recovered' => 20169,
        
    'weekIncidence' => 51.69358781526082,
        
    'casesPer100k' => 6516.194729122486,
        
    'delta' => 
        array (
          
    'cases' => 26,
          
    'deaths' => 0,
          
    'recovered' => 39,
        ),
      ),

    Soll die API für eine öffentliche Webseite genutzt werden ist unbedingt darauf zu achten das die API-Zugriffe auf ein Minimum beschränkt werden. Die Zugriffe sind auf 15/Minute begrenzt. Aber auch das sollte nicht ausgereizt werden.
    Dies kann sehr einfach durch cachen des JSON-Strings in einer Datei erfolgen. Das erledigt im folgenden Beispiel für eine Coronaampel die $fctNewRequest in Verbindung mit der Strcache-Klasse.

    PHP-Code:
    $url="https://api.corona-zahlen.org/districts/11008/history/frozen-incidence/7";

    $fctNewRequest = function() use ($url){
      return @
    file_get_contents($url);
    };

    $json strCache::create($fctNewRequest)->getContent("5 Min");

    $data TableArray::createFromJson($json,["data","11008","history"])
      ->
    orderBy('date DESC')
      ->
    limit(7
      ->
    filter(function($row){return $row["weekIncidence"]  > 100;})
      ->
    fetchAll()
    ;
    echo 
    count($data) ? "Red" "Green"




    PHP-Klassen auf github


  • #2
    Wieso nicht auf rki.de? Trägt RKI keine Verantwortung für ausgegebene Zahlen?
    Signaturrrrrrr

    Kommentar


    • #3
      Zitat von K313 Beitrag anzeigen
      Wieso nicht auf rki.de? Trägt RKI keine Verantwortung für ausgegebene Zahlen?
      k.A. Als Datenquellen für die API taucht das RKI ja zumindest einige male auf. Bin selbst erst durch den Beitrag JSON URL in PHP Werte in Variable speichern auf die API gestoßen und find es interessant was da alles zusammengetragen wurde.
      PHP-Klassen auf github

      Kommentar


      • #4
        Hier ist übrigens der Source Code zu der API https://github.com/marlon360/rki-covid-api falls man es selber Hosten möchte. Die Daten basieren offensichtlich auf den Schnittstellen von arcgis.com (https://github.com/marlon360/rki-cov...sts/germany.ts)

        Kommentar

        Lädt...
        X