Forum Użytkowników Stacji Pogodowych
Stacje Pogody - oprogramowanie => Inne oprogramowanie => Wątek zaczęty przez: Mark w 25 Grudnia, 2012, 19:41:31
-
Aby dopełnić informacje o aktualnej pogodzie na mojej stronie zastosowałem skrypt, który pobiera informację o aktualnych warunkach pogodowych (weather conditions) z depeszy METAR najbliższej stacji (Inowrocław tu chyba będzie bardziej odpowiedni niż Poznań). Pierwotnie ta informacja jest po angielsku i chcę właściwie przetłumaczyć takie niuanse jak 'Mostly Cloudy' czy 'Overcasted'. Nie mogę znaleźć całej listy w Internecie. Poniżej przedstawiam to co sam przetłumaczyłem. Czy właściwie? A może jest jakiś używany w meteorologii standard na polskie tłumaczenie?
Fog - mgła
Light Freezing Rain - Słaby marznący deszcz
Light Freezing Rain / Fog - Słaby marznący deszcz/Mgła
Clear - rozpogodzenia
Cloudy - pochmurno
Haze - zamglenia
Light rain - słaby deszcz
Mostly Cloudy - zachmurzenie duże
Overcast - całkowite zachmurzenie
Partly Cloudy - częściowe zachmurzenie
Rain - deszcz
Rain Showers - mżawka
Showers - deszczyk
Thunderstorm - burza
Mostly Sunny - słoncznie
Partly Sunny - częściowo słoncznie
Mostly Sunny - słonecznie
Sunny - słonecznie
Fair - pogodnie
Scattered Showers - obfita ulewa
Snow - śnieg
-
Możesz dać skrypt do tej opcji ? Może gdzieś bym go wcisnął w banner.
Mam jeszcze problemy z wyświetlanie Północ południe jako kierunek wiatru
Gdzie zmienić to by wyświetlało się poprawnie ? Albo usunąć Ó i Ł
-
Mam jeszcze problemy z wyświetlanie Północ południe jako kierunek wiatru
Gdzie zmienić to by wyświetlało się poprawnie ? Albo usunąć Ó i Ł
A jakie masz kodowanie w pliku php ? Może spróbuj zmienić na UTF-8 bez BOM
-
Możesz dać skrypt do tej opcji ?
Ja już stwierdziłem, że ikonki i opis warunków pogodowych dam obok banera, bo mam na stronie na to miejsce. Nie próbowałem więc go wstawiać bezpośrednio w skrypt banera.
Skrypt pobiera informację weather conditions i tłumaczy na polski. To co mam jest dla Inowrocławia. Podaj mi swoją najbliższą stację albo wyszukaj na weather.com. Ja powinienem wybrać Koło, ale tu depesze wychodzą co 3 h, a nie 30 min.
<?php
include("simple_html_dom.php");
$html = file_get_html('http://www.weather.com/weather/extended/PLXX1335?par=yahoo&site=www.yahoo.com&promo=extendedforecast&cm_ven=Yahoo&cm_cat=www.yahoo.com&cm_pla=forecastpage&cm_ite=CityPage');
$weatherimage = $html->find('img[class=wx-weather-icon]', 0)->src;
echo "<img src='".$weatherimage."' alt='weather image' />";
$condition = trim($html->find('li[class=wx-phrase]', 0)->plaintext); //Extract the inner text from the <span class='wx-value' and trim off whitespace
echo"<br>";
switch ($condition) { //Switch between the different weather conditions
case "Fog":
echo "mgła";
break;
case "Light Freezing Rain":
echo "Słaby marznący deszcz";
break;
case "Light Freezing Rain / Fog":
echo "Słaby marznący deszcz/Mgła";
break;
case "Clear":
echo "bezchmurnie";
break;
case "Cloudy":
echo "pochmurno";
break;
case "Haze":
echo "zamglenia";
break;
case "Light Rain":
echo "słaby deszcz";
break;
case "Mostly Cloudy":
echo "<center>zachmurzenie duże</center>";
break;
case "Overcast":
echo "całkowite zachmurzenie";
break;
case "Partly Cloudy":
echo "czę¶ciowe zachmurzenie";
break;
case "Rain":
echo "deszcz";
break;
case "Rain Showers":
echo "opady deszczu";
break;
case "Showers":
echo "deszczyk";
break;
case "Light Rain Shower":
echo "lekki przelotny deszcz";
break;
case "Thunderstorm":
echo "burza";
break;
case "Mostly Sunny":
echo "przeważnie słonecznie";
break;
case "Partly Sunny":
echo "czę¶ciowo słonecznie";
break;
case "Mostly Sunny":
echo "słonecznie";
break;
case "Sunny":
echo "słonecznie";
break;
case "Fair":
echo "pogodnie";
break;
case "Scattered Showers":
echo "przelotny deszcz";
break;
case "Snow":
echo "¶nieg";
break;
case "Light Snow":
echo "słabe opady ¶niegu";
break;
default:
echo $condition; //You have not yet translated it so just show the English one
}
?>
Teraz zastanawiam się nad doprecyzowaniem skryptu. Chodzi o to, że Inowrocław jest jednak te 50 km ode mnie i przy takich przelotnych opadach jak dzisiaj nie zawsze to co jest tam jest adekwatne u mnie.
Najlepiej to by było, aby ten skrypt z ikonką warunków pogodowych wzbogacić o taką opcję, że gdy na mojej stacji zmierzony jest opad to automatycznie ta ikonka zmienia się na deszcz (np. u mnie pada, ale nie w Inowrocławiu), podobnie podpis i tak jest np. przez godzinę. Po tym czasie pokazywane są znowu warunki pogodowe z depeszy dla Inowrocławia. Próbowałem to powiązać z realtime.txt, ale niestety mnie to przerosło. Jeśli ktoś wie jak to zrobić chętnie poznam skrypt :)
I tu przy okazji pytanie, może bardziej dla Parasola :) Jak zrobić, aby na banerze pogodowym pojawiała się ikonka deszczu (np. http://png-1.findicons.com/files/icons/2338/reflection/128/weather_rain.png (http://png-1.findicons.com/files/icons/2338/reflection/128/weather_rain.png)) w czasie opadów na mojej stacji. Użyłem parametru Hour rain, czyli opadu za godzinę. Jeśli rhour jest różne od 0 (padało w ciągu godziny i deszczomierz to zliczył) pokaż ikonkę deszczu na banerze:
// Print Presence of Rain
if (rhour != 0.0) {
$text = "deszcz";
$size = 8;
imagettftextbox($im, $size, 0, -50, 8, $blue, $font3, $text, $SITE['image_width'], "center");
} else {
$text = "bez deszczu";
$size = 8;
imagettftextbox($im, $size, 0, -50, 8, $blue, $font3, $text, $SITE['image_width'], "center");
Napisałem skypt powyżej, ale nie działa, bo pokazuje cały czas brak deszczu, jak zrobiłem odwrotnie to cały czas był napis deszcz. Jak wspomniałem, docelowo chcę, aby zamiast napisu deszcz była ikonka. Nie wiem dlaczego to nie działa z samym tekstem no i jak w to wstawić obrazek?
Mam jeszcze problemy z wyświetlanie Północ południe jako kierunek wiatru
Gdzie zmienić to by wyświetlało się poprawnie ? Albo usunąć Ó i Ł
Wydaje mi się, że ta czcionka nie ma polskich liter. Ja np. CIŚNIENIE mam zapisane jako CISNIENIE.
-
Bardzo przydatny skrypt, wstawiłem testowo na swoją stronę. Jak na razie pogoda zgadza się w 100% z tą za oknem.
Do pracy tego skryptu potrzeby jest jeszcze plik simple_html_dom.php (http://simplehtmldom.sourceforge.net/)
-
Tak, zapomniałem o tym pliku. simple_html_dom.php musi być w tym samym folderze co plik ze skryptem weather conditions. Chyba, że zmienisz ścieżkę do pliku.
Oczywiście im bliżej mieszkasz stacji meteo, która wydaje depesze z warunkami pogodowymi tym skrypt będzie je wierniej pokazywał.
-
Pojawił się jeszcze komunikat Light Rain / Windy czyli Słaby deszcz / Wietrznie trzeba to dopisać
-
Dzięki za informację. Nie mam całej listy możliwych warunków podawanych na weather.com, więc pewnie jeszcze jest parę nieprzetłumaczonych tekstów.
Do pliku php trzeba dodać:
case "Light Rain / Windy":
echo "słaby deszcz / wietrznie";
break;
-
Zrobiło się na powrót zimowo i doszły kolejne niezdefiniowane warunki pogodowe:
case "Rain and Snow":
echo "deszcz ze ¶niegiem";
break;
case "Heavy Snow":
echo "obfite opady ¶niegu";
break;
case "Snow / Fog":
echo "¶nieg / mgła";
break;
-
Nowe: [tłumaczenie w UTF-8]
Słabe opady śniegu / mgła
Lekkie płatki śniegu / mgła
Marznąca mżawka
case "Light Snow / Fog":
echo "Słabe opady śniegu / mgła";
break;
case "Light Snow Grains / Fog":
echo "Lekkie płatki śniegu / mgła";
break;
case "Freezing Drizzle":
echo "Marznąca mżawka";
break;
-
Kolejne słowa które udało mi się "wyłapać".
Słowa "Snow Grains" chyba oznaczają krupę śnieżną, czyli taki śnieg w granulkach, proszę pisać jeślibym się mylił, bo nie jestem tego pewny.
case "Light Snow Grains / Fog":
echo "Słabe opady krupy śnieżnej / mgła";
break;
case "Light Freezing Drizzle":
echo "Słaba marznąca mżawka";
break;
case "Light Snow Grains":
echo "Słabe opady krupy śnieżnej";
break;
case "Light Freezing Drizzle / Fog":
echo "Słaba marznąca mżawka / mgła";
break;
case "Drifting Snow":
echo "Zamieć śnieżna";
break;
case "Fair / Windy":
echo "Pogodnie / Wietrznie";
break;
-
Ja to przetlumaczylem wg. wunderground.com "ziarnisty śnieg"
-
Też mam jako śnieg ziarnisty. Przedwczoraj przy silnym pojawił się inny opis.
case "Partly Cloudy / Windy":
echo "czę¶ciowe zachm. wietrznie";
break;
Nie wiem czy to też wrzucałem:
case "Light Snow Shower":
echo "lekkie przelotne opady ¶niegu";
break;
-
case "Mist":
echo "Zamglenie";
break;
-
case "Freezing Drizzle / Fog":
echo "Marzn±ca mżawka / Mgła";
break;
-
case "Light Drizzle":
echo "słaba mżawka";
break;
-
Mamy już praktycznie lato i zjawiska atmosferyczne z nim związane. Stąd te niezdefiniowane jeszcze terminy:
case "Thunder in the Vicinity":
echo "Burza w okolicy";
break;
case "T-Storm":
echo "Burza z piorunami";
break;