aare.schwumm.ch - API

Zugang zur API zur freien Verfügung. Unterhalt durch schwumm.ch, Kontakt via info@schwumm.ch

Datenquelle: Bundesamt für Umwelt, Verkehr Energie und Kommunikatione der Schweizerischen Eidgenossenschaft, Hydrologie

Messtation: Aare - Bern, Schönau (2135) (Detailkarte, Bild)

Bitte beachten: Das BAFU schreibt vor, dass die Datenquelle immer angegeben werden muss.

Zur Demoseite.

Alle Daten ohne Gewähr. Verfügbarkeit der API ohne Gewähr.

aare.json - Aktuelle Informationen

Link

http://aare.schwumm.ch/aare.json

Beschreibung

In aare.json finden sich die neuesten Messdaten, alle 10 Minuten aktualisiert. Es ist ein statisches JSON, d.h. es ist kein JSONP möglich.

Parameter

Keine

Inhalt

  • source - Datenquelle
  • height - Wasserstand [m.ü.M.]
  • flow - Abfluss [m3/s]
  • temperature - Temperatur [°C]
  • date - Datum und Uhrzeit der Messung im ISO-Format [GMT+1 DST]

Beispiel

Aufruf: http://aare.schwumm.ch/aare.json

{
    "source" : "BAFU",
    "temperature" : 7.4,
    "flow" : 169.92,
    "height" : 502.46,
    "date" : "2010-05-07 01:00:00"
}

api/current - Aktuelle Informationen

Link

http://aare.schwumm.ch/api/current

Beschreibung

Dieser Aufruf ist im Grundsatz identisch zu aare.json oben: Es ist JSONP möglich, das Zeitformat kann gewählt werden und die Daten sind ungerundet.

Zusätzlich werden gewisse Parameter textuell interpretiert.

Parameter

  • timeformat - Zeitformat [local|unix|javascript]
  • callback - Callback-Funktion für JSONP. Ist dieser Parameter nicht vorhanden, wird direkt ein JSON-Objekt zurückgegeben.

Inhalt

  • source - Datenquelle
  • height - Wasserstand [m.ü.M.]
  • flow - Abfluss [m3/s]
  • temperature - Temperatur [°C]
  • timeformat - Zeitformat [local|unix|javascript|javascriptlocal]
  • date - Datum und Uhrzeit der Messung im ISO-Format [UTC+1 DST]
  • temperature_text - Temperatur textuell [cold|warm|hot]

Beispiel

Aufruf: http://aare.schwumm.ch/api/current?callback=callbackFunction

callbackFunction({
    "source" : "BAFU",
    "temperature" : 7.42,
    "flow" : 169.92,
    "height" : 502.46,
    "timeformat" : "local",
    "date" : "2010-05-07 01:00:00",
    "temperature_text" : "cold"
})

api/archive - Vergangene Werte

Link

http://aare.schwumm.ch/api/archive

Beschreibung

Dieser Aufruf liefert vergangene Werte als Zeitreihen zurück. Standardmässig liefert er die Temperatur der letzen 24 Stunden in 10 Minuten-Intervallen mit lokalen Zeitstempeln zurück. Es können sowohl mehrere Parameter, als auch alternative Zeitsysteme angefordert werden.

Parameter

  • from - Startzeit in einem Format, welches von strtottime() verstanden wird. (Ausführliche Infos bei gnu.org.)
  • to - Endzeit, gleiches Format wie from. Die beiden Zeiten sind relativ zueinander.
  • timeformat - Zeitformat: local (Standard, ISO-formatierte Zeit, UTC+1 DST), unix (Unix-Epoche in Sekunden), javascript (Unix-Epoche in Millisekunden.), javascriptlocal (UTC+1 DST als Unix-Epoche in Millisekunden)
  • data - Angeforderte Daten, kommasepariert: temperature (Standard), height, flow oder eine Kombination davon (Z.B. temperature,height.)
  • datafill - Interpolation für fehlende Werte: linear (Standard), raw (Keine Füllung)
  • outputformat - Ausgabeformat: standard (Standard, Zeitreihen als anonyme Objekte), flot (Aufbereitung in verschachtelte Arrays für Flot-Plots)
  • callback - Callback-Funktion für JSONP. Ist dieser Parameter nicht vorhanden, wird direkt ein JSON-Objekt zurückgegeben.

Hinweis zu den Zeitparametern: Für relative Ausdrücke wie z.B. +3 hours muss das + zwingend mit %2B kodiert werden.

Inhalt

  • source - Datenquelle
  • timeformat - Zeitformat [local|unix|javascript]
  • from - Startzeit im gewählten Zeitformat
  • to - Endzeit im gewählten Zeitformat
  • outputformat - Ausgabeformat [standard|flot]
  • metadata: {"temperature": {"min":value, "max":value, "average":value}, ...} - Max/Min/Durchschnitts-Werte über die gesammte angefrage Zeitperiode
  • datatformat: ["datetime", "temperature"...] - Format des Wertearrays
  • datafill - Datenfüllmethode [linear|raw]
  • data: [[datetime, temperature, ...],...] - Werte in zwei-dimensionalem Array
  • Oder: data: {"temperature": {datetime:value, ...}...} - Werte in verschachtelten anonymen Objekten

Beispiel

Aufruf: http://aare.schwumm.ch/api/archive (Ohne Parameter)

{
  "data": {
    "datetime": [
      "2011-05-07 12:00:00",
      "2011-05-07 12:10:00",
 ...
      "2011-05-08 11:40:00",
      "2011-05-08 11:50:00"
    ],
    "temperature": [
      13.92,
      13.93,
 ...
      14.41,
      14.40
    ]
  },
  "dataformat": [
    "datetime",
    "temperature"
  ],
  "source": "BAFU",
  "from": "2011-05-07 11:59:13",
  "to": "2011-05-08 11:59:13",
  "timeformat": "local",
  "outputformat": "standard",
  "metadata": {
    "temperature": {
      "min": 13.53,
      "max": 16.41,
      "average": 14.73
    }
  }
}

Aufruf: http://aare.schwumm.ch/api/archive?from=yesterday&to=%2B 30 minutes&data=temperature,flow

{
  "data": {
    "datetime": [
      "2011-05-07 00:00:00",
      "2011-05-07 00:10:00",
      "2011-05-07 00:20:00",
      "2011-05-07 00:30:00"
    ],
    "temperature": [
      13.81,
      13.83,
      13.73,
      13.71
    ],
    "flow": [
      67.4,
      67.4,
      67.19,
      67.19
    ]
  },
  "dataformat": [
    "datetime",
    "temperature",
    "flow"
  ],
  "source": "BAFU",
  "from": "2011-05-07 00:00:00",
  "to": "2011-05-07 00:30:00",
  "timeformat": "local",
  "outputformat": "standard",
  "metadata": {
    "temperature": {
      "min": 13.71,
      "max": 13.83,
      "average": 13.8
    },
    "flow": {
      "min": 67.19,
      "max": 67.4,
      "average": "67.23
    }
  }
}

api/metadata - Informationen über die verfügbaren Daten

Link

http://aare.schwumm.ch/api/metadata

Beschreibung

Dieser Aufruf liefert Informationen über die Datenbank zurück.

Parameter

  • timeformat - Zeitformat, mögliche Werte sind: local (Standard, ISO-formatierte Zeit, UTC+1 DST), unix (Unix-Epoche in Sekunden), javascript (Unix-Epoche in Milisekunden.)
  • callback - Callback-Funktion für JSONP. Ist dieser Parameter nicht vorhanden, wird direkt ein JSON-Objekt zurückgegeben.

Inhalt

  • source - Datenquelle
  • timeformat - Zeitformat [local|unix|javascript]
  • firstdate - Startpunkt der Messung im gewählten Zeitformat
  • lastdate - Letzte Messung im gewählten Zeitformat

Beispiel

Aufruf: http://aare.schwumm.ch/api/metadata

{
    "source" : "BAFU",
    "timeformat" : "local",
    "firstdate" : "2009-07-02 17:40:00",
    "lastdate" : "2010-05-07 01:00:00"
}