aspern.mobil LAB DATAhub
How To

Was ist der DATAhub?

Der DATAhub ist eine digitale, öffentlich zugängliche Daten-Sammelstelle. Hier können Sie die Temperatur- und Lautstärkemessungen unserer Sensorboxen nachschauen. Auch Feinstaubmessungen mittels unserem Pocobo gehören zu den Daten des DATAhubs.

Neben diesen, von uns gemessenen Werten, ermöglichen wir aber auch das Erkunden von externen, öffentlichen Daten, wie zum Beispiel Open Governmental Data (OGD) oder der GeoSphere Austria

Auf unserem DATAhub können Sie sich interaktiv durch die aufgezeichneten und zur Verfügung gestellten Messungen klicken. So können Sie beispielsweise die Werte an bestimmten Tagen betrachten oder sich einen Überblick über den Temperatur- sowie Lärmverlauf in einem gewählten Zeitraum verschaffen. Eine große Karte ermöglicht das Navigieren zwischen den aktuellen sowie ehemaligen Messungen. Diverse Filtermöglichkeiten helfen den Datenpool entsprechend individueller Anforderungen anzupassen. Außerdem können Sie sich zusätzliche Informationen wie Fahrradwege, das Wiener Baumkataster oder die Werte der öffentlichen Messtationen einblenden lassen.

Ziel unseres DATAhubs ist einerseits eine Testumgebung für unsere eigenen Umweltsensoren und die Umweltsensoren unserer Projektpartner:innen zu schaffen. Über die offene API können prinzipiell alle an citizen Science interessierten Organisationen und Personen, mit Bezug zur Messung von Umweltdaten, Messungen in unseren DATAhub einspeisen. Darüber hinaus soll der DATAhub in Zukunft eine Webplattform werden, die ein engmaschiges Netzwerk an Umweltdaten unterstützt und dadurch wichtige Informationen für die Stadtplanung und die Gestaltung freundlicher, gesunder und lebenswerten öffentlicher Räume bietet. Bei der Entwicklung unserer eigenen Umweltsensoren achten wir besonders auf den Nutzungskontext und die Lebensrealitäten der Nutzer:innen und gestalten die Geräte so, dass sie in alltäglichen Situationen, quasi nebenbei, eingesetzt werden können. So kann jeder, ohne großen Aufwand, zur Messung von Umweltdaten beitragen.

Der DATAhub wird laufend weiterentwickelt. Dabei achten wir darauf offene Schnittstellen anzubieten, sodass möglichst viele interessierte Nutzer:innen und Organisationen Daten beitragen können. Weiters legen wir großen Wert auf eine verständliche und sinnvolle Darstellung der Messwerte und bieten zusätzlich zu den gemessen Werten auch Hintergrundinformationen zu den Messgrößen an. Dies unterstützt die Bewusstseinsbildung hinsichtlich eines nachhaltigeren persönlichen Lebensstils und über die Lebensqualität in öffentlichen Räumen.

Die Messwerte des DATAhubs werden durch einfach zugängliche, kostengünstige technische Komponenten erzeugt. Die Messungen erfolgen vorwiegend durch engagierte Bürger:innen, die unsere Umweltsensoren in ihrem Umfeld einsetzen. Daher können die gemessenen Daten durch Einflüsse betreffend die Montage und Handhabung der Umweltsensoren beeinflusst werden. Darüber hinaus sind diese kostengünstigen Sensoren in der Regel nicht geeicht und können Ungenauigkeiten, Falschwerte und Verzerrungen aufweisen. Als Vergleichswerte bieten wir daher zusätzlich die entsprechenden Daten der offiziellen Messtationen am DATAhub an.

Sie können mitwirken!

Die API des DATAhubs ermöglicht es externen Personen und Instituten, Sensordaten an unseren DATAhub zu senden, diese hier zu sammeln und bei Bedarf als GeoJSON zu exportieren. Hierbei erhält jede Datenquelle einen eindeutig identifizierenden Token. Die folgende Dokumentation beschreibt die Endpunkte zur Datenübertragung, die erforderlichen Parameter sowie die Exportfunktionen.

• Authentifizierung via JSON Web Token

Zur Authentifizierung der Datenquelle ist es erforderlich einen JSON Web Token mitzuschicken. Diesen bekommen Sie von uns zugeschickt, nachdem eine passende Datenquelle am Server angelegt wurde. Zum beantragen eines solchen Tokens schicken Sie uns gerne eine Mail an mert.usul@mobillab.wien Für jede Anfrage an die REST-API muss dann dieser Token auch als Teil der URL gesendet werden
curl -X POST -d '{"type": "Feature", "geometry": {"type": "Point", "coordinates": [100.0, 0.0]}, "properties": {"Temperature": [24.5, "°C"], "Noise": [100.0, "dB"], "timestamp": "1617140798000" }' https://aml.media.tuwien.ac.at:11312/api/sensordata/<token>
Der Server überprüft dann den Token, und liest aus dem Token die Datenquellen-ID aus und kann somit die Nachricht der richtigen Datenquelle zuordnen.

• Daten senden

/api/sensordata/<token>

Dieser Endpunkt nimmt ReadingPoint Daten entgegen. Der Token, den Sie von uns bekommen, kann als Teil der URL mitgegeben werden. Dabei muss der GeoJSON-Body der Nachricht folgendem Schema folgen:
{ "type": "Feature", "geometry": { "type": "<Geometrie-Typ>", "coordinates": [<Longitude>, <Latitude>] }, "properties": { "<Reading name>": [<Reading value>, "<Reading unit>"], ..., "timestamp": "<POSIX timestamp> in ms" } }
D.h. es kann z.B. so aussehen:
{ "type": "Feature", "geometry": { "type": "Point", "coordinates": [100.0, 0.0] }, "properties": { "Temperature": [24.5, "°C"], "Noise": [100.0, "dB"], "Geruch": ["Blumig", ""], "timestamp": "1617142473000" } }
Falls ein Gerät keine POSIX timestamp erstellen kann, ist es auch möglich, einen emtpy string zu senden, dann wird die Zeit des Emfpangs am Server als timestamp verwendet.

• Status senden

/api/sensorstatus/<token>

Dieser Endpunkt erlaubt es Geräten, Informationen über ihren Status zu senden: Batteriestand in Prozent und Millivolt, ob ein GPS fix erfolgen konnte und ob das Gerät sich herunterfährt und damit offline geht. Der Token kann wie oben beschrieben als Teil der URL oder im Header mitgegeben werden. Default, wenn alles gut ist, reicht folgende Nachricht aus:
{ "battery": 0.85, "millivolt": 123.5 }
wenn die batterie niedrig ist als signal, dass die box offline geht (0 fuer false)
{ "battery": 0.05, "millivolt": 3.5, "online": 0 }
gleichsam das, falls es kein GPS-signal gibt:
{ "battery": 0.85, "millivolt": 123.5, "gps_fix": 0 }

• Daten exportieren

/api/datasource/<source_id>

Mit der DataSource ID können über diesen Endpunkt alle Daten zu dieser DataSource abgerufen werden, um z.B. ein Dashboard damit zu betreiben. Die DataSource ID bekommen Sie auch von uns, zusammen mit dem Token, zugeschickt. Die Daten werden im Folgenden Format exportiert:
{ "source_id": 3, "source_name": "Sensorbox 6", "description": "+430123456789; MM; v1.0", "battery_level": null, "battery_millivolt": null, "gps_fix": false, "online": false, "reading_points": { "type": "FeatureCollection", "features": [ { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ 16.344734, 48.223747 ] }, "properties": { "Temperature (°C)": 15.74, "Timestamp": "2021-03-31 00:04:25.600797" } }, { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ 16.344734, 48.223747 ] }, "properties": { "Noise (dB)": 46, "Timestamp": "2021-03-31 00:04:25.600797" } }, { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ 16.344734, 48.223747 ] }, "properties": { "Temperature (°C)": 14.78, "Timestamp": "2021-03-31 00:24:25.738378" } }, { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ 16.344734, 48.223747 ] }, "properties": { "Noise (dB)": 48, "Timestamp": "2021-03-31 00:24:25.738378" } } ] } }
Copied!