Unwetterzentrale Revolutions

Funktioniert aber nur bei einer zyklonalen Westlage.

Hi Rainer,

die Idee ist doch gar nicht so schlecht.

Statt des statischen Bildes ein animiertes .GIF erzeugen, bei dem beispielsweise
die Wolkenbewegegungen der letzten x (per Variable setzbar) Bilder mit enthalten sind.

Der WAF Faktor dieses Bildes wäre gewaltig
(zumal ja vorher noch in irgend einer Form der Warnhinweis kommt: bald regnet es),
die draussen aufgehängte Wäsche würde niemals naß werden.

Doch leider ist mein diesbezügliches Programmier Know-how dafür noch zu dünne…

mfg

BerndJ

PS: noch ´ne Ergänzung zum möglichen Aussehen so eines animierten .GIF´s

a) um die Orientierung zu visualisieren: an einer Stelle eine kleine Uhr reinsetzen, deren Farbe sich beim aktuellen Stand ändert
b) beim internen Bildwechsel könnte man die Farbe der Wolke des aktuellen Bildes im originalen Farbton belassen, die des vorhergehenden aber bewusst farblich verfälschen, besonders die überlappenden Flächen sollten eine spezielle Farbe erhalten, bzw. evtl. reicht dort auch nur eine dünne Linie, welche den Rand der vorhergehenden Wolke darstellt.

Meister der Grafikformate: Ist das nicht eine schöne Basis, um mal die eigenen Fähigkeiten allen zu demonstrieren.
(die Faulen lassen andere arbeiten, sollten aber aus Ihrem Know-how lernen)

Hi Jungs,
hab das Ding gestern mal integriert und funzt schonmal augenscheinlich 1a. Danke dafür schonmal!
Aber meine Frage: Das Script wertet doch die Pixelfarbe aus, oder? Wie sieht es aus wenn in den Radius eine schwarze Ortsbeschriftung rein fällt? Verfälscht das nix?

Gruß

Kai

Ich glaub schwarz wird nicht ausgewertet. Kontrollier im Skript, welche Farben in die Bewertung eingehen, sieht man ja unten an den RGB-Werten.

Warum so kompliziert wenn es auch einfach geht. Der Wetteronline Dienst stellt ja auch ein animiertes gif zur Verfügung. Einfach wie das aktuelle Bild auswählen:

$remoteImageloop = "http://www.wetteronline.de/daten/radar/$area/".gmdate("Y", $dateline)."/".gmdate("m", $dateline)."/".gmdate("d", $dateline)."/std_".gmdate("Hi", $dateline).".gif";

und in IPS abspeichern.

Gruß

Als kleine Spielerei habe ich mal die Karte für mich etwas aufgehübscht.
Man kann nun einen Zoom einschalten, um die Details etwas besser zu erkennen.
(grad braucht man einmal Regen um es zu testen, dann ist keiner da…)
Aber ihr seht sicher was ich meine.

PHP für oben:

/*
 Der Zoom gibt an, ob und wieviel die Zoomverstärkung eures Ortes aktiviert werden soll. <2 ist aus.
 Der Zoomabstand gibt die Entfernung des Mittelpunnks der Zoomdarstellung zu eurem Ort an (in Pixel). Rechts positiv, Links negativ.
*/
$zoom = 4;
$zoomabstand = 165;

PHP für unten:

// Bereich zeichnen
$schwarz = ImageColorAllocate ($im, 0, 0, 0);
$weiss = ImageColorAllocate ($im, 255, 255, 255);
$rot = ImageColorAllocate ($im, 255, 0, 0);
if($zoom>1){
	$homeX2 = $homeX+$zoomabstand;
	$homeRadius2 = $homeRadius*$zoom;
	imageline($im, $homeX+$homeRadius, $homeY-$homeRadius-1, $homeX2+$homeRadius2, $homeY-$homeRadius2, $rot);
	imageline($im, $homeX-$homeRadius, $homeY+$homeRadius+1, $homeX2-$homeRadius2, $homeY+$homeRadius2, $rot);
	imageline($im, $homeX+$homeRadius, $homeY+$homeRadius+1, $homeX2+$homeRadius2, $homeY+$homeRadius2, $rot);
	imageline($im, $homeX-$homeRadius, $homeY-$homeRadius-1, $homeX2-$homeRadius2, $homeY-$homeRadius2, $rot);
	imagecopyresized($im, $im, $homeX2-$homeRadius2, $homeY-$homeRadius2, $homeX-$homeRadius, $homeY-$homeRadius, $homeRadius2*2, $homeRadius2*2, $homeRadius*2, $homeRadius*2);
	imagerectangle($im, $homeX2-$homeRadius2, $homeY-$homeRadius2, $homeX2+$homeRadius2, $homeY+$homeRadius2, $rot);
	imagerectangle($im, $homeX2-$homeRadius2-1, $homeY-$homeRadius2-1, $homeX2+$homeRadius2+1, $homeY+$homeRadius2+1, $schwarz);
}
imagerectangle($im, $homeX-$homeRadius, $homeY-$homeRadius, $homeX+$homeRadius, $homeY+$homeRadius, $rot);
imagerectangle($im, $homeX-$homeRadius-1, $homeY-$homeRadius-1, $homeX+$homeRadius+1, $homeY+$homeRadius+1, $schwarz);
imagesetpixel($im, $homeX, $homeY, $rot);
imagegif($im, $localImage);
imagedestroy($im);

Gruß Imho

img.gif

Hallo Imho,

tolle Erweiterung! :slight_smile:
Kann man das Zoomfenster auch in der Nord-Südrichtung manuelle anpassen?:confused:

Joachim

Hiho,

ich glaub man müsste im Script die Timer nochmal umprogen um zeitnaher an der Karte zu sein. Hintergrund, z.B. die Karte von 15.30 kam grad um 15.36 online. heißt aber dass mein script diese Karte erst um 15.45 lesen wird (15 Minuten verspätung). Denke es wäre Cleverer das Script zwar alle 15 Minuten aber um 7 Minuten versetzt laufen zu lassen um Zeitnah am Bild zu sein, oder?

Gruß

Kai

Hallo zusammen,

ich habe mir die Unwetterzentrale installiert und bin fast begeistert. Mein Problem ist, der Wert steht auf 200 und draußen regnet es.

Ich glaube, ich war nicht ganz so begabt bei der Auswahl der Koordinaten. Wie findet ihr die Koordinaten am geschicktesten raus? Ich bräuchte die für Wolfsburg. Gibt es da einen Trick?

Gruß,
Christoph

Hallo Christoph,

schau Dir doch mal das „radar.gif“ an . Da ist um die Koordinaten ein rotes Viereck gezogen.

Gruß

Richtig, das rote Viereck ist vorhanden. Ich weiß aber nicht, ob dort tatsächlich Wolfsburg ist. Ich habe versucht, den Standort „Pi mal Daumen“ rauszufinden und wollte wissen, wie ihr möglichst hohe Genauigkeit erreicht.

Danke!

Eine Möglichkeit wäre Google Maps
Ort suchen -> rechte Maustaste -> „Was ist hier?“-> Koordinaten in IPS Eintragen

Gruß

Hallo Attain,

ich glaube das funktioniert hier nicht, da die Koordinaten hier die Position auf dem Bild darstellen und keine GPS oder ähnliche Daten, oder?

Joachim

Ähm…:eek:.
Du hast recht.
Das ist mir jetzt aber peinlich

Gruß

Hallo,
ich habe gewartet bis es regnet,
und habe dann die Koordinaten angepasst .

Tolles Script.

Habe testweise einfach mal erweitert und den Bereich zeichnen angepasst. Wenn Du nun $zoomabstand_y veränderst, dann schiebt er das Fenster hoch oder runter, je nach belieben.

$zoom = 3;
$zoomabstand_x = 70;
$zoomabstand_y = 90;
if($zoom>1){
    $homeX2 = $homeX+$zoomabstand_x;
    $homeY2 = $homeX+$zoomabstand_y;
    $homeRadius2 = $homeRadius*$zoom;
    imageline($im, $homeX+$homeRadius, $homeY-$homeRadius-1, $homeX2+$homeRadius2, $homeY2-$homeRadius2, $rot);
    imageline($im, $homeX-$homeRadius, $homeY+$homeRadius+1, $homeX2-$homeRadius2, $homeY2+$homeRadius2, $rot);
    imageline($im, $homeX+$homeRadius, $homeY+$homeRadius+1, $homeX2+$homeRadius2, $homeY2+$homeRadius2, $rot);
    imageline($im, $homeX-$homeRadius, $homeY-$homeRadius-1, $homeX2-$homeRadius2, $homeY2-$homeRadius2, $rot);
    imagecopyresized($im, $im, $homeX2-$homeRadius2, $homeY2-$homeRadius2, $homeX-$homeRadius, $homeY-$homeRadius, $homeRadius2*2, $homeRadius2*2, $homeRadius*2, $homeRadius*2);
    imagerectangle($im, $homeX2-$homeRadius2, $homeY2-$homeRadius2, $homeX2+$homeRadius2, $homeY2+$homeRadius2, $rot);
    imagerectangle($im, $homeX2-$homeRadius2-1, $homeY2-$homeRadius2-1, $homeX2+$homeRadius2+1, $homeY2+$homeRadius2+1, $schwarz);
}
imagerectangle($im, $homeX-$homeRadius, $homeY-$homeRadius, $homeX+$homeRadius, $homeY+$homeRadius, $rot);
imagerectangle($im, $homeX-$homeRadius-1, $homeY-$homeRadius-1, $homeX+$homeRadius+1, $homeY+$homeRadius+1, $schwarz);
imagesetpixel($im, $homeX, $homeY, $rot);
imagegif($im, $localImage);
imagedestroy($im);

Hallo Boui,

vielen Dank für Deine Skriperweiterung. Hat auf Anhieb funktioniert und hat lediglich einen kleinen Schönheitsfehler: Man sieht die „eigene“ rote Zoomlinie in der Vergrößerung (bin vom Ursprungspunkt nach Süd-West)…

Habe es aber trotzdem verwendet.:slight_smile:

Joachim

Hallo,

ich gestehe, dass ich mir den Code nicht wirklich angeschaut habe. Ich bin IPS-Neuling und versuche gerade die Funktionsweise im Zusammenhang zu verstehen. Dabei testete ich gerade dieses Script und hab nur im Schnellschuß mal kurz geändert.
Wenn ich mein aktuelles Problem (1-wire Sensoren an der fritzbox (freetz) angeschlossen über LAN mit IPS nutzen) gelöst habe, kann ich ja nochmal draufschauen.

Kann das sein, dass die was geändert haben? Bei mir passt das Bild nicht mehr richtig.

Hallo Boui,

das Bild ist definitiv ein anderes geworden…
(Ich glaube es ist jetzt auch etwas verzerrt, kann aber auch täuschen)

Joachim