Optionale Anzeige des Pegelstandes (z.B. Rhein)
Forumsregeln
Verfasse bitte die Beiträge in den passenden Kategorien und gib ihnen einen aussagekräftigen Betreff.
Antworte bitte nur zum Thema und beginne ein neues Thema, falls Du noch etwas Zusätzliches sagen möchtest.
Verfasse bitte die Beiträge in den passenden Kategorien und gib ihnen einen aussagekräftigen Betreff.
Antworte bitte nur zum Thema und beginne ein neues Thema, falls Du noch etwas Zusätzliches sagen möchtest.
Optionale Anzeige des Pegelstandes (z.B. Rhein)
Hallo zusammen,
in unserem Verein ist das Rudern ab einem Pegel von 7,50m untersagt.
Es wäre schön, wenn man den aktuellen Pegelstand (für Köln z.B. abrufbar
unter http://www.pegelonline.wsv.de/gast/stam ... nr=2730010)
ein EFA einblenden könnte, und ab einem Grenzwert eine Warnung ausgeben,
falls jemand versucht eine Fahrt zu beginnen.
Viele Grüße
Jens
in unserem Verein ist das Rudern ab einem Pegel von 7,50m untersagt.
Es wäre schön, wenn man den aktuellen Pegelstand (für Köln z.B. abrufbar
unter http://www.pegelonline.wsv.de/gast/stam ... nr=2730010)
ein EFA einblenden könnte, und ab einem Grenzwert eine Warnung ausgeben,
falls jemand versucht eine Fahrt zu beginnen.
Viele Grüße
Jens
Re: Optionale Anzeige des Pegelstandes (z.B. Rhein)
Hallo Jens,
zu diesem Thema gibt es bereits einen Request for Enhancement. Eine solche Erweiterung ist geplant. (Zeitpunkt kann ich noch nicht versprechen.)
Danke & Gruß,
Nicolas
zu diesem Thema gibt es bereits einen Request for Enhancement. Eine solche Erweiterung ist geplant. (Zeitpunkt kann ich noch nicht versprechen.)
Danke & Gruß,
Nicolas
-
- Beiträge: 266
- Registriert: Fr 24. Feb 2012, 15:42
- Wohnort: Itzehoe
- Kontaktdaten:
Re: Optionale Anzeige des Pegelstandes (z.B. Rhein)
Hallo,
die Wasser- und Schifffahrtsverwaltung des Bundes bietet auf http://pegelonline.wsv.de/ eine ganze Reihe Möglichkeiten, Pegelstände abzurufen.
Den aktuellen Pegelstand Köln gibt es z.B. in JavaScript Object Notation (json) unter
http://www.pegelonline.wsv.de/webservic ... ement.json
mit Zeitangabe, Pegelstand und Trend.
Mit ein klein wenig Programmierung z.B. in php lässt sich mit dieser Datenquelle ein HTML-Widget auf dem Vereins-Web-Server realisieren, das in efa angezeigt werden kann. Eine Warnung kann dann im HTML-Widget realisiert werden. Da gibt es dann viele Gestaltungsmöglichgkeiten. Voraussetzung ist natürlich ein Internetzugang für den Bootshausrechner...
Hinweis; Man kann den Namen des Pegels im URL austauschen und so jeden verfügbaren Pegel (Namen siehe http://www.pegelonline.wsv.de/gast/pegelinformationen) abrufen.
Und wer so ein HTML-Widget programmiert hat, könnte Nick bitten, den Code auf http://efa.nmichael.de/ zum Herunterladen bereitzustellen.
Viele Grüße
Martin
Itzehoer Wasser-Wanderer e.V.
die Wasser- und Schifffahrtsverwaltung des Bundes bietet auf http://pegelonline.wsv.de/ eine ganze Reihe Möglichkeiten, Pegelstände abzurufen.
Den aktuellen Pegelstand Köln gibt es z.B. in JavaScript Object Notation (json) unter
http://www.pegelonline.wsv.de/webservic ... ement.json
mit Zeitangabe, Pegelstand und Trend.
Mit ein klein wenig Programmierung z.B. in php lässt sich mit dieser Datenquelle ein HTML-Widget auf dem Vereins-Web-Server realisieren, das in efa angezeigt werden kann. Eine Warnung kann dann im HTML-Widget realisiert werden. Da gibt es dann viele Gestaltungsmöglichgkeiten. Voraussetzung ist natürlich ein Internetzugang für den Bootshausrechner...
Hinweis; Man kann den Namen des Pegels im URL austauschen und so jeden verfügbaren Pegel (Namen siehe http://www.pegelonline.wsv.de/gast/pegelinformationen) abrufen.
Und wer so ein HTML-Widget programmiert hat, könnte Nick bitten, den Code auf http://efa.nmichael.de/ zum Herunterladen bereitzustellen.
![Zwinkern ;)](./images/smilies/icon_e_wink.gif)
Viele Grüße
Martin
Itzehoer Wasser-Wanderer e.V.
Zuletzt geändert von iww-martin am So 30. Jun 2013, 12:37, insgesamt 1-mal geändert.
-
- Beiträge: 266
- Registriert: Fr 24. Feb 2012, 15:42
- Wohnort: Itzehoe
- Kontaktdaten:
So gehts: Anzeige des Pegelstandes (z.B. Rhein)
Hallo zusammen,
hier ein php-Skript, das den Pegelstand von pegelonline.wsv.de als json-Struktur zu einem Pegelnamen abruft, aufbereitet und als einfach formatiertes HTML ausgibt. Ich habe mal das Kölner Beispiel mit einem Wasserstand von 7,50 Metern als Standardauswahl gewählt. Das Skript wünscht entweder "Gute Fahrt!" oder es gibt die Warnung "HOCHWASSER Rudern verboten!" (in rot) aus. Wer will kann die Ausgabe mit einem roten Hintergrund, blinkender Schrift, Stoppschild o.ä. weiter aufhübschen:
[Hinweis: Skript geändert am 02. Juli 2013: Kodierung von Umlauten]
Eine Liste mit den Namen aller verfügbaren Pegel gibt es unter http://pegelonline.wsv.de/gast/pegelinformationen
Zum Ausprobieren könnt Ihr mal in dem folgenden Link die Parameterwerte für "namen" und "max" ändern (Angabe in Zentimetern) ...
http://www.itzehoer-wasser-wanderer.de/ ... LN&max=750
(Hinweis: URL wird hier im Forum nicht als Link angezeigt, wenn es KÖLN heißt. Es können im URL Umlaute verwendet werden...)
Da wir so eine Pegelanzeige selbst nicht brauchen, kann dieser Link zum Ausprobieren verwendet werden.
ACHTUNG: Wir übernehmen nicht das Hosting. Passt das Skript ggf. an, stellt es für den produktiven Einsatz in Eurem Bootshaus auf Euren eigenen Web-Server und lasst die Ausgabe als HTML-Widget anzeigen.
Macht was draus...
Viele Grüße
Martin
Itzehoer Wasser-Wanderer e.V.
hier ein php-Skript, das den Pegelstand von pegelonline.wsv.de als json-Struktur zu einem Pegelnamen abruft, aufbereitet und als einfach formatiertes HTML ausgibt. Ich habe mal das Kölner Beispiel mit einem Wasserstand von 7,50 Metern als Standardauswahl gewählt. Das Skript wünscht entweder "Gute Fahrt!" oder es gibt die Warnung "HOCHWASSER Rudern verboten!" (in rot) aus. Wer will kann die Ausgabe mit einem roten Hintergrund, blinkender Schrift, Stoppschild o.ä. weiter aufhübschen:
Code: Alles auswählen
<?php
// HTML-Widget für efa Bootshaus
// Abruf und Anzeige aktueller Pegelstände von pegelonline.wsv.de
//
// Für die Anzeige einer Warnmeldung muss ein Parameter "max"
// mit dem Pegelstand in Zentimetern übergeben werden (Beispiel: max=750).
// Eine Warnmeldung wird angezeigt, wenn der aktuelle Pegelstand über dem Wert des übergebenen Parameters liegt.
// Pegelname und Pegelstand für Warnmeldung als Parameter übernehmen
if (isset($_GET["name"]))
{
$pegelname = $_GET["name"];
$pegelname = htmlspecialchars($pegelname);
}
else
$pegelname = "KÖLN";
if (isset($_GET["max"]))
{
$maxpegel = $_GET["max"];
$maxpegel = htmlspecialchars($maxpegel);
}
else
$maxpegel = "";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>efa HTML Widget - Pegel <?php print utf8_decode($pegelname); ?></title>
</head>
<body>
<?php
// Pegelinformation als json-Struktur abrufen...
$url = "http://pegelonline.wsv.de/webservices/rest-api/v2/stations/".mb_convert_encoding($pegelname, "ISO-8859-1")."/W/currentmeasurement.json";
$json = file_get_contents($url);
$pegel = json_decode($json, TRUE);
$nachricht = "Gute Fahrt!";
// Warnhinweis in Abhängigkeit vom Wasserstand
if (($maxpegel != "") and ($pegel["value"] >= $maxpegel))
{
$nachricht = "<font color="#ff0000">H O C H W A S S E R<br>rn";
$nachricht = $nachricht."<b>RUDERN VERBOTEN!</b></font>";
}
// Trend
switch ($pegel["trend"])
{
case -1:
$trend = "fallend";
break;
case 0:
$trend = "gleichbleibend";
break;
case 1:
$trend = "steigend";
break;
default:
$trend = "k.A.";
break;
}
?>
<center>
<font size="+1">Pegel</font><br>
<font size="+2"><b><?php print utf8_decode($pegelname); ?></b></font><br>
<font size="+1">Pegelstand <b><?php print number_format($pegel["value"]/100,2,",","."); ?></b> Meter</font><br>
<font size="-1">Trend: <?php print $trend;?></font><br>
<br>
<font size="+1"><?php print $nachricht ?></font><br>
<br>
<font size="-1">letzte Aktualisierung<br>
<?php print subStr($pegel["timestamp"],8,2).".".subStr($pegel["timestamp"],5,2).".".subStr($pegel["timestamp"],0,4)." - ".subStr($pegel["timestamp"],11,5);?> Uhr</font><br>
<font size="-1">Quelle: pegelonline.wsv.de</font><br>
</center>
</body>
</html>
Eine Liste mit den Namen aller verfügbaren Pegel gibt es unter http://pegelonline.wsv.de/gast/pegelinformationen
Zum Ausprobieren könnt Ihr mal in dem folgenden Link die Parameterwerte für "namen" und "max" ändern (Angabe in Zentimetern) ...
http://www.itzehoer-wasser-wanderer.de/ ... LN&max=750
(Hinweis: URL wird hier im Forum nicht als Link angezeigt, wenn es KÖLN heißt. Es können im URL Umlaute verwendet werden...)
Da wir so eine Pegelanzeige selbst nicht brauchen, kann dieser Link zum Ausprobieren verwendet werden.
ACHTUNG: Wir übernehmen nicht das Hosting. Passt das Skript ggf. an, stellt es für den produktiven Einsatz in Eurem Bootshaus auf Euren eigenen Web-Server und lasst die Ausgabe als HTML-Widget anzeigen.
Macht was draus...
![Zwinkern ;)](./images/smilies/icon_e_wink.gif)
Viele Grüße
Martin
Itzehoer Wasser-Wanderer e.V.
Zuletzt geändert von iww-martin am Do 24. Nov 2016, 22:15, insgesamt 3-mal geändert.
Re: Optionale Anzeige des Pegelstandes (z.B. Rhein)
Vielen Dank - ich werde es ausprobieren.
Jens
Jens
Re: Optionale Anzeige des Pegelstandes (z.B. Rhein)
Hallo iww-martin,
schönes Script. Bei der Ausgabe auf dem Webserver kommt folgende Fehlermeldung:
In Zeile 27 steht
Die Ausgabe von KÖLN sieht so aus K?LN. Eine Ahnung was da schief läuft?
schönes Script. Bei der Ausgabe auf dem Webserver kommt folgende Fehlermeldung:
Code: Alles auswählen
Warning: file_get_contents(http://pegelonline.wsv.de/webservices/rest-api/v2/stations/KÖLN/W/currentmeasurement.json) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/www/xxx/pegel.php on line 27
Code: Alles auswählen
$json = file_get_contents($url);
Gruß
ulzo
ulzo
-
- Beiträge: 266
- Registriert: Fr 24. Feb 2012, 15:42
- Wohnort: Itzehoe
- Kontaktdaten:
Re: Optionale Anzeige des Pegelstandes (z.B. Rhein)
Hallo Uzo,
...das hat mit der Zeichenkodierung des Umlauts zu tun. Dabei kommt nicht der richtige Dateiname heraus, so dass die .json-Datei nicht gefunden und geöffnet werden kann.
Versuch mal im Aufruf KÖLN als K%C3%96LN zu schreiben...
Viele Grüße
Martin
Itzehoer Wasser-Wanderer e.V.
geändert am 05.08.2013: Tippfehler beseitigt.
...das hat mit der Zeichenkodierung des Umlauts zu tun. Dabei kommt nicht der richtige Dateiname heraus, so dass die .json-Datei nicht gefunden und geöffnet werden kann.
Versuch mal im Aufruf KÖLN als K%C3%96LN zu schreiben...
Viele Grüße
Martin
Itzehoer Wasser-Wanderer e.V.
geändert am 05.08.2013: Tippfehler beseitigt.
Zuletzt geändert von iww-martin am Mo 5. Aug 2013, 10:29, insgesamt 1-mal geändert.
Re: Optionale Anzeige des Pegelstandes (z.B. Rhein)
Hallo Martin,iww-martin hat geschrieben:Hallo Uzo,
...das hat mit der Zeichenkodierung des Umlauts zu tun. Dabei kommt nicht der richtige Dateiname heraus, so dass die .json-Datei nicht gefunden und geöffnet werden kann.
Versuch mal im Aufruf KÖLN als K%C3%96N zu schreiben...
Viele Grüße
Martin
Itzehoer Wasser-Wanderer e.V.
hab ich gemacht. Die Fehlermeldung bleibt die gleiche.
Code: Alles auswählen
Warning: file_get_contents(http://pegelonline.wsv.de/webservices/rest-api/v2/stations/K%C3%96N/W/currentmeasurement.json) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/www/xxx/pegel.php on line 27
- Dateianhänge
-
- Serverausgabe
- snip.png (2.87 KiB) 22093 mal betrachtet
Gruß
ulzo
ulzo
-
- Beiträge: 266
- Registriert: Fr 24. Feb 2012, 15:42
- Wohnort: Itzehoe
- Kontaktdaten:
Re: Optionale Anzeige des Pegelstandes (z.B. Rhein)
Hallo Ulzo,
sorry, Tippfehler. Es muss natürlich K%C3%96LN (mit L) heißen...
Viele Grüße
Martin
Itzehoer Wasser-Wanderer e.V.
sorry, Tippfehler. Es muss natürlich K%C3%96LN (mit L) heißen...
Viele Grüße
Martin
Itzehoer Wasser-Wanderer e.V.
Re: Optionale Anzeige des Pegelstandes (z.B. Rhein)
iww-martin hat geschrieben:Hallo Ulzo,
sorry, Tippfehler. Es muss natürlich K%C3%96LN (mit L) heißen...
Viele Grüße
Martin
Itzehoer Wasser-Wanderer e.V.
Hallo Martin, kann ja passieren, das Ding mit dem Tippfehler. Leider ist die Augabe immer noch nicht korrekt, wenn auch jetzt die Fehlermeldung weg ist. Hast du eine eine Idee, was jetzt noch faul ist?
- Dateianhänge
-
- snip.png (2.99 KiB) 22084 mal betrachtet
Gruß
ulzo
ulzo