Diskussion:RainAlarm: Unterschied zwischen den Versionen

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche
(SB To Do)
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
== SB To Do ==
+
== Tipps ==
  
To Do App.:
+
RainAlarm lässt sich auf verschiedene Arten nutzen: Siehe RainAlarm-Startseite. Tipp zum Ermittlen der X,Y-Koordinaten:  
* RegionForecast verbessern, z.B. durch Geraden-Interpolation
+
* Die X,Y-Angaben sind GPS-Koordinaten (WGS84): X ist der Breitengrad (Nordwert, latitude) und Y Längengrad (Ostwert, longitute).  
* Limitieren von zu grossen RegionForecast-Werten wie z.B. max. Velocity...
+
* Die Koordinaten müssen innerhalb der Schweiz liegen, also z.B. GPS-Koordinaten gerundet zwischen 45 und 48 Grad Nord und zwischen 4 und 11 Grad Ost(dreistellig genügt; siehe auch [[Koordinaten]]).
*<s> Ev. Weglassen der Kategorie "< 1.0 mm/h" im Radarbild (bedeutet kaum Regen) durch Bildvorverarbeitung (Schwellwert dunkler?).</s>
+
* Koordinaten findet man z.B. mit einer Orts-Suche und dann einem Klick auf den Permalink in [http://www.openstreetmap.org OpenStreetMap] oder einem anderen Kartendienst (siehe das Linkverzeichnis [http://directory.geometa.info/search.php/all/rain?place=Rappersil geometa Directory]).
* <s> Refactoring: MrGimoList?</s>
+
* SMS-Beispiele für Rapperswil <code>HSR RAINALARM 47.226,8.822</code> und für für Hombrechtikon <code>HSR RAINALARM 47.253,8.772</code>.
* <s> RainAlarm.java => Response-Texte anpassen: Siehe unten.</s>
 
* <s> Die Koordinaten müssen innerhalb der Schweiz liegen, also zwischen 45 und 48 Grad Nord und zwischen 4 und 11 Grad Ost.</s>
 
* <s>Filtern von kleinsten Pixelgruppen</s>
 
* <s>Erzeugen eines animierten GIFs, vom Web her zugänglich</s>
 
  
Offen:
+
== Ideen ==
* Woher die Ausreisser, bei denen plötzlich kommt "Niederschlag unwahrscheinlich in den nächsten zwei Stunden!"??
+
 
 +
Website:
 +
* http://dev.ifs.hsr.ch/rainalarm/browser/trunk/rainalarm-website/src/ch/hsr/ifs/rainalarm/web/QueryHandler.java: 15: "Service zurzeit nicht in Dini Mueter Betrieb..." :->
 +
* SMS-Service  => Reicht das noch dazu? "wenigstens" die standard-signature anpassen zu "www.gis.hsr.ch ," (anstelle von "http://www.hsr.ch," => beachte auch das Komma)
 
* Reliefkarte als Hintergrund fuer GIS ([http://www.swisstopo.admin.ch/internet/swisstopo/de/home/products/downloads/maps/overview/generalmap_free.html Swisstopo])
 
* Reliefkarte als Hintergrund fuer GIS ([http://www.swisstopo.admin.ch/internet/swisstopo/de/home/products/downloads/maps/overview/generalmap_free.html Swisstopo])
  
Für ein anderes Mal:
+
App.:
 +
* RegionForecast verbessern, z.B. durch Geraden-Extraapolation: Kalman? sonst etwas Einfacheres...
 +
* Woher die Ausreisser, bei denen plötzlich kommt "Niederschlag unwahrscheinlich in den nächsten zwei Stunden!"??
 
* Berücksichtigung von Grössenveränderung, Rotation/Richtungsänderung sowie Beschleunigung/Verlangsamung
 
* Berücksichtigung von Grössenveränderung, Rotation/Richtungsänderung sowie Beschleunigung/Verlangsamung
 
* Erkennen von "No Data" ("Fehlende Daten beim Bundesamt") des Inputs (z.B. bei Betriebsausfall vom Monte Lama). Siehe z.B. die Abbildung rechts. [[Bild:Zppi_20090909_1310.png|thumb|200px|right| hier]]
 
* Erkennen von "No Data" ("Fehlende Daten beim Bundesamt") des Inputs (z.B. bei Betriebsausfall vom Monte Lama). Siehe z.B. die Abbildung rechts. [[Bild:Zppi_20090909_1310.png|thumb|200px|right| hier]]
 
* Übernehmen der Klassifikation der Regen- und der Schneeintensität (auch wenn's nur ein mittlerer Wert pro Ellipse/'Niederschlags-Zelle' ist)
 
* Übernehmen der Klassifikation der Regen- und der Schneeintensität (auch wenn's nur ein mittlerer Wert pro Ellipse/'Niederschlags-Zelle' ist)
 
== Ausgabe-Texte ==
 
Texte (zusammengesetzt):
 
* Niederschlag unwahrscheinlich in den nächsten zwei Stunden! (17:05 31.12.2010)
 
* Niederschlag möglich in ca. 56 Min.; er dauert voraussichtlich ca. 40 Min.! (17:05 31.12.2010)
 
* Niederschlag möglich in ca. 56 Min.; er dauert voraussichtlich über zwei Stunden! (17:05 31.12.2010)
 
* Aktuell Niederschlag; er dauert voraussichtlich noch ca. 23 Min.! (17:05 31.12.2010)
 
* Aktuell Niederschlag; er dauert voraussichtlich noch über zwei Stunden! (17:05 31.12.2010)
 
... gefolgt von "RainAlarm by http://labs.geometa.info/rainalarm (Quellen: SF Meteo und !MeteoSchweiz)".
 
 
Ausnahme-Texte:
 
* Und bei Problemen: Es ist ein Problem aufgetreten. Bitte versuchen Sie es später noch einmal.
 
* falls ausser Betrieb: Service zurzeit nicht in Betrieb. Versuchen Sie es später noch einmal.
 
* falls falsche oder fehlende Koordinaten: Koordinaten fehlen oder falsch. Siehe http://www.gis.hsr.ch/wiki/RainAlarm.
 
 
== JSON ==
 
 
Auruf: GET <URL>&format=json
 
 
=== Beispiel: ===
 
 
  {
 
    "message":"Niederschlag unwahrscheinlich in den nächsten zwei Stunden!",
 
    "raining":false,
 
    "rainStart":-1,
 
    "rainStop":-1
 
  }
 
 
=== JSON-Attributes: ===
 
 
message: string
 
* "text" => enthält die Informationen in Textform
 
 
raining: boolean
 
* true => es regnet
 
* false => es regnet nicht
 
 
rainStart: integer
 
* -1 => start unbekannt
 
* 0 => zurzeit Niederschlag
 
* 1... max => start in x min
 
 
rainStop: integer
 
* -1 => stop Unbekannt
 
* 0... max => stop in x min
 
 
== RainAlarm.java ==
 
 
Folgende Ausgabe gibt es (abhängig von start und stop):
 
* Kein arrivalNowcast (start): "Niederschlag unwahrscheinlich in den nächsten zwei Stunden!" (start = -1)
 
* arrivalNowcast (start):
 
** 1. "Aktuell Niederschlag." (start = 0)
 
** 2. "Niederschlag möglich in ca. xx Min." (start > 0)
 
* durationNowcast (stop):
 
** 1. "Er dauert voraussichtlich ca. yy Min.!" (stop > start)
 
** 2. "Er dauert voraussichtlich mehr als zwei Stunden!" (stop = -1)
 
 
http://dev.ifs.hsr.ch/rainalarm/browser/trunk/rainalarm/src/ch/hsr/ifs/rainalarm/
 
 
Die aktuelle Revision 76, Zeile 48 ff. sieht so aus:
 
    private String createSMS(int[] startStopRain) {
 
        int start = startStopRain[0];
 
        int stop = startStopRain[1];
 
        String duration = "";
 
       
 
        if (start == -1)
 
            return "Kaum Niederschlag innert 2h.";
 
        if (stop == -1)
 
            duration = "lÀnger als " + (120 - start) + " Min";
 
        else
 
            duration = (stop - start) + "Min.";
 
        if (start == 0)
 
            return "Es regnet(schneit) voraussichtlich noch " + duration + SUFFIX;
 
       
 
        return "Niederschlag möglich in ca. " + start + " Min, dauert voraussichtlich " + duration + SUFFIX;
 
    }
 
 
Hier sollte 1. von Niederschlag die Rede sein und 2. sollte start (besser: arrivalNowcast) und stop (besser durationNowcast) angegeben werden - auch im Antwort-Text. Daher Neu, Zeile 48 ff. :
 
 
    final int MAXFORECASTDURATION = 120;
 
    private String createSMS(int[] startStopRain) {
 
        int start = startStopRain[0];
 
        int stop = startStopRain[1];
 
        String durationText = "";
 
        String text = "";
 
        final int NODATA = -1;
 
       
 
        // Kein Niederschlag in Sicht
 
        if (start == NODATA)
 
            return "Niederschlag unwahrscheinlich in den nächsten zwei Stunden!";
 
       
 
        // Niederschlag ins Sicht (mit Dauer) oder Niederschlag dauert an (noch Dauer...).
 
        if (stop == NODATA || (stop - start) >= MAXFORECASTDURATION)
 
            durationText = "; er dauert voraussichtlich lÀnger als" + (MAXFORECASTDURATION - start) + " Min.!";
 
        else
 
            durationText = "; er dauert voraussichtlich ca. " + (stop - start) + " Min.!";
 
       
 
        if (start == 0)
 
            text = "Aktuell Niederschlag" + durationText;
 
        else
 
            text = "Niederschlag möglich in ca. " + start + " Min." + durationText;
 
                   
 
        return text + SUFFIX;
 
    }
 
 
== Ideen ==
 
 
Website:
 
* http://dev.ifs.hsr.ch/rainalarm/browser/trunk/rainalarm-website/src/ch/hsr/ifs/rainalarm/web/QueryHandler.java: 15: "Service zurzeit nicht in Dini Mueter Betrieb..." :->
 
* SMS-Service  => Reicht das noch dazu? "wenigstens" die standard-signature anpassen zu "www.gis.hsr.ch ," (anstelle von "http://www.hsr.ch," => beachte auch das Komma)
 

Aktuelle Version vom 5. November 2010, 12:17 Uhr

Tipps

RainAlarm lässt sich auf verschiedene Arten nutzen: Siehe RainAlarm-Startseite. Tipp zum Ermittlen der X,Y-Koordinaten:

  • Die X,Y-Angaben sind GPS-Koordinaten (WGS84): X ist der Breitengrad (Nordwert, latitude) und Y Längengrad (Ostwert, longitute).
  • Die Koordinaten müssen innerhalb der Schweiz liegen, also z.B. GPS-Koordinaten gerundet zwischen 45 und 48 Grad Nord und zwischen 4 und 11 Grad Ost(dreistellig genügt; siehe auch Koordinaten).
  • Koordinaten findet man z.B. mit einer Orts-Suche und dann einem Klick auf den Permalink in OpenStreetMap oder einem anderen Kartendienst (siehe das Linkverzeichnis geometa Directory).
  • SMS-Beispiele für Rapperswil HSR RAINALARM 47.226,8.822 und für für Hombrechtikon HSR RAINALARM 47.253,8.772.

Ideen

Website:

App.:

  • RegionForecast verbessern, z.B. durch Geraden-Extraapolation: Kalman? sonst etwas Einfacheres...
  • Woher die Ausreisser, bei denen plötzlich kommt "Niederschlag unwahrscheinlich in den nächsten zwei Stunden!"??
  • Berücksichtigung von Grössenveränderung, Rotation/Richtungsänderung sowie Beschleunigung/Verlangsamung
  • Erkennen von "No Data" ("Fehlende Daten beim Bundesamt") des Inputs (z.B. bei Betriebsausfall vom Monte Lama). Siehe z.B. die Abbildung rechts.
    hier
  • Übernehmen der Klassifikation der Regen- und der Schneeintensität (auch wenn's nur ein mittlerer Wert pro Ellipse/'Niederschlags-Zelle' ist)