Webanwendung für Konzentrationskarten

Du hast eine Idee für ein Projekt?
Antworten
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Hallo,

ich möchte ein Webanwendung zur Darstellung von Konzentrationskarten (Beispiel) verschiedener Luftbeimengungen (Aerosole, Spurengase etc.) schreiben. Die Daten stammen aus Satellitenmessungen und aus Modellrechnungen. Da ich wenig Erfahrung mit Webanwendungen habe, würde ich mich über einige Ratschläge, für mögliche Umsetzungen, freuen.

Die Daten liegen in HDF5 vor. Ich habe bereits Funktionen um die Daten mit h5py einzulesen und mit Matplotlib und Basemap zu plotten. Es gibt globale und regionale Karten z.B. für Südostasien. Weiter gibt es Tages-, Monats- und Jahresmittel. Für einige Orte wird es auch Konzentration-Zeit-Diagramme geben.

Das Programm soll folgendes können:
- Darstellen einzelner Karten
- Monatsübersichten
- Zoomen von globalen in regionale Karten und zurück
- Anzeigen des Wertes, wenn sich die Maus über der Position befindet
- Abspielen von Zeitreihen (z.B. alle Karten von einem Monat)
- Steuerung des Programms mit Maus und Tastatur
- Darstellen von Konzentration-Zeit-Diagrammen

Jetzt würde mich interessieren, wie ihr so ein Projekt umsetzen würdet. Welche Programmiersprachen würdet ihr verwenden? Ich würde natürlich gerne viel mit Python machen. JavaScript wird vermutlich ebenfalls sehr nützlich
sein.

Würde mich über viele Anregungen und Ideen freuen.

Grüße
Gerrit
KlausS
User
Beiträge: 40
Registriert: Donnerstag 24. Januar 2008, 08:52
Wohnort: Leverkusen

Hallo Gerrit,

deine Beschreibung hört sich stark nach einem WEB-GIS an. Schau dir mal OpelLayers http://openlayers.org/ (Javascript) oder MapFish http://mapfish.org/ (Python) an. Eine hilfreiche Zuordnung der einzelnen Anwendungen findest du unter http://www.mapbender.org/Eine_Typisieru ... nd_MapFish. Ich versuche gerade, mich tiefer in die Materie einzuarbeiten und kann dir daher leider noch keine Tipps geben.
Würdest du die Kartenerstellung wie die Beispieldatei mit Matplotlib und Basemap realisieren?

Schönen Sonntag

Klaus
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Hallo Klaus,

ein Web-GIS mag wirklich das sein, was ich suche. Ich werd's mir mal in den nächsten Tagen etwas genauer anschauen. Die Anwendung soll bei uns auf dem AG-Cluster laufen und dient primär dazu eine Übersicht über unsere Daten zu haben.

Wie gesagt erstelle ich derzeit meine Karten mit Basemap, weil ich Matplotlib auch für Zeitreihen etc. verwende. Für eine Webanwendung ist halt problematisch, dass das Erstellen einer Karte etwa 10 Sekunden braucht. Man müsste die Karten also zum Teil schon vorher generieren.

Für das Web-GIS wäre es wohl am besten die Karten ohne Ländergrenzen und bestimmte Kartenprojektion zu erzeugen. Die Darstellung der Geographie und die Verzerrung der Karte würde dann vom Web-GIS übernommen.

Grüße
Gerrit
KlausS
User
Beiträge: 40
Registriert: Donnerstag 24. Januar 2008, 08:52
Wohnort: Leverkusen

Hallo Gerrit,

du kannst in einem WEB-GIS auch die von einem Server (z.B. Mapserver, Geoserver) gerenderten Karten mit Bildern kombinieren. Eine wie ich finde eindrucksvolle Demo findest du unter http://gis.ibbeck.de/ginfo/apps/OLExamp ... verlay.asp.

Gruß

Klaus
frabron
User
Beiträge: 306
Registriert: Dienstag 31. März 2009, 14:36

gkuhl hat geschrieben:... Ich habe bereits Funktionen um die Daten mit h5py einzulesen und mit Matplotlib und Basemap zu plotten ...
Werden die jedes Mal live gerendert oder liegen die einmal gerendert in einem Rasterformat vor?

Es gibt bereits serverseitig Implementierungen, die das bieten, was du haben möchtest, auch mit Python Schnittstelle. Es ist aber evt. nicht ganz einfach, das für einen Laien umzusetzen, da doch einiges an neuen Konzepten auf dich zukommen wird :)

Es gibt bereits auch einen Standard für die Auslieferung von temporalen Karten im Rasterformat, den WMS-T (http://mapserver.org/ogc/wms_time.html). Generell würde es sich meiner Meinung nach anbieten, einen Kartenserver aufzusetzen und diesen über entsprechende Schnittstellen wie WMS verfügbar zu machen. Dann kannst du einen beliebigen Client verwenden, um auf deine Daten zuzugreifen, ob das jetzt das (wirklich sehr gute) OpenLayers ist, oder eine der anderen Lösungen bleibt deiner Wahl überlassen.
Antworten