Zaloguj się lub zarejestruj.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Szukanie zaawansowane  

Aktualności:

Forum SMF zostało uruchomione!

Autor Wątek: Ogimet ekstraktor  (Przeczytany 16091 razy)

greg

  • Administrator
  • Ekspert
  • *****
  • Wiadomości: 3283
  • Będzin-Grodziec, woj. śląskie
    • Palmy w Polsce
Ogimet ekstraktor
« dnia: Październik 19, 2011, 17:34:45 »

Wątek wydzielony z Pogoda w Polsce

---

Marcin, czy Ty ręcznie pobrałeś temperatury dla wszystkich dwunastu miesięcy za te wszystkie lata? 25 x 12 kopiuj & wklej?
« Ostatnia zmiana: Październik 19, 2011, 23:28:22 wysłana przez greg »
Zapisane
Moja strona: palmywpolsce.pl
Moje palmy: Palmy w Będzinie
Moje zabezpieczenia: „Projekt Phoenix” (2010), „Warownia” (2011), BigBag (2012), nadmuch c.o. (2012), opony (2012), Piankobuda (2013), Wiórkobuda (2013), Seria StyroLux (2014)
Forum o palmach mrozoodpornych, bananowcach i innych roślinach: forum.palmy.net.pl

Marcin D

  • Gość
Odp: Ogimet ekstraktor
« Odpowiedź #1 dnia: Październik 19, 2011, 17:53:21 »

Patryk to jest wykres z excela.
Co Cie interesuje konkretnie?

Greg
A co? Masz szybszy sposób?
Powiem tak.
Dane ze Szczecinka tak robiłem bo były mi potrzebne do pracy mgr. Ze Świnoujścia dane dostałem od kumpla, który pisał o Klimacie Wybrzeża Bałtyku. Także nie jestem w stanie zrobić więcej wykresów chyba, że nasz geniusz Greg wymyśli jakiś sposób na ściąganie danych.

Na pewno fajnie było by mieć takie wykresy dla innych miast.
Zapisane

greg

  • Administrator
  • Ekspert
  • *****
  • Wiadomości: 3283
  • Będzin-Grodziec, woj. śląskie
    • Palmy w Polsce
Odp: Ogimet ekstraktor
« Odpowiedź #2 dnia: Październik 19, 2011, 18:13:49 »

chyba, że nasz geniusz Greg wymyśli jakiś sposób na ściąganie danych

To przekąs, ironia czy podpucha? ;)
Zapisane
Moja strona: palmywpolsce.pl
Moje palmy: Palmy w Będzinie
Moje zabezpieczenia: „Projekt Phoenix” (2010), „Warownia” (2011), BigBag (2012), nadmuch c.o. (2012), opony (2012), Piankobuda (2013), Wiórkobuda (2013), Seria StyroLux (2014)
Forum o palmach mrozoodpornych, bananowcach i innych roślinach: forum.palmy.net.pl

Marcin D

  • Gość
Odp: Ogimet ekstraktor
« Odpowiedź #3 dnia: Październik 19, 2011, 18:19:58 »

Dobra poważnie pytam.
Jest jakiś inny sposób, żeby nie kopiować miesiąca po miesiącu przez 25lat? Czyli jak ty to nazwałeś 12x25.
Zapisane

greg

  • Administrator
  • Ekspert
  • *****
  • Wiadomości: 3283
  • Będzin-Grodziec, woj. śląskie
    • Palmy w Polsce
Odp: Ogimet ekstraktor
« Odpowiedź #4 dnia: Październik 19, 2011, 18:52:52 »

Geniusz greg sądzi, że takowy sposób istnieje. ;) Nawet już o tym wspominał.

Interfejs gdzie podajesz numer stacji i zakres ekstrahowanych danych. W wyniku otrzymujesz plik, który można zaimportować do arkusza. Parę kliknięć i 25 x 12 załatwione zanim zdążysz zaparzyć kawę. No, ale trzeba napisać program do tego. O ile ogimet nie stosuje jakichś zabezpieczeń przed zapisem strony z poziomu PHP to napisanie takigo kodu to tylko kwestia wolnego czasu.

---

DODANE:

Gwoli wyjaśnienia - moje pytanie odnośnie tego czy robiłeś to ręcznie wynikało z faktu, że zdaję sobie sprawę z ogromu pracy jaki stanowi ręczne wyciągnięcie takiej ilości danych z serwisu Ogimet.

Temat nie dawał mi spokoju. Do tego stopnia, że postanowiłem sprawdzić czy to czym piszę jest możliwe. Rozwiązanie zagadki zajęło mi aż trzy godziny, bo nie jestem przecież zawodowym programistą PHP. Sęk w tym, że strona z danymi jest generowana dynamicznie przez CGI - nie jest to strona statyczna w rodzaju: http://jakis.adres.pl/strona.html. Ostatecznie jednak serwis Ogimet udało się poskromić:

Ogimet ekstraktor (wersja prealpha 0.01)

Oczywiście na razie to nic wielkiego. Podajesz numer stacji, rok, miesiąc i dane dla wybranych parametrów po kliknięciu na wyślij są wyświetlane na ekranie oraz zapisywane do pliku ogimet.txt. Najważniejsze w tym wszystkim jest to, że da się dane z serwisu wyciągnąć. Zawartość tego pliku mam w zmiennej. Zatem nie stanowi teraz żadnego problemu by napisać algorytm, który będzie parsował tę zmienną, wyciągał tylko to co potrzeba i formatował elegancki plik z danymi. Oczywiście za cały żądany okres - w sposób automatyczny.

Jakieś pytania? 8) 8) 8)

Uprzedzając co do terminu ukończenia tego programu. Na razie chciałem tylko zobaczyć czy dane z Ogimetu będzie się dało wyciągnąć. Wynik sprawdzenia - pozytwny. ;) Natomiast na gotowy produkt przyjdzie trochę poczekać. Myślę, że kilka tygodni, bo będę się tym zajmował z doskoku w czasie jakichś wolnych chwil. Najwięcej roboty to parser. A Ty pomyśl przez ten czas nad zapytaniami: co chcemy wyciągać, najlepiej wklej gotowe kwerendy w rodzaju:

http://www.ogimet.com/cgi-bin/gsynres?lang=en&ind=10488&ndays=31&ano=2010&mes=12&day=31&hora=06
http://www.ogimet.com/cgi-bin/gsynres?lang=en&ind=10488&ndays=31&ano=2010&mes=12&day=31

itp. itd.

Możemy wyciągać rocznie, miesięcznie, godzinowo itp. Daj mi tylko gotowe kwerendy.
« Ostatnia zmiana: Październik 20, 2011, 12:43:08 wysłana przez greg »
Zapisane
Moja strona: palmywpolsce.pl
Moje palmy: Palmy w Będzinie
Moje zabezpieczenia: „Projekt Phoenix” (2010), „Warownia” (2011), BigBag (2012), nadmuch c.o. (2012), opony (2012), Piankobuda (2013), Wiórkobuda (2013), Seria StyroLux (2014)
Forum o palmach mrozoodpornych, bananowcach i innych roślinach: forum.palmy.net.pl

Marcin D

  • Gość
Odp: Ogimet ekstraktor
« Odpowiedź #5 dnia: Październik 20, 2011, 07:17:08 »

Cytuj
Możemy wyciągać rocznie, miesięcznie, godzinowo itp. Daj mi tylko gotowe kwerendy.
No właśnie. Rocznie to chyba nie wyciągniemy. Dalej będzie trzeba miesiąc po miesiącu do pliku zapisywać.

Chyba, że ty coś zmodyfikujesz bo w ogimecie z tego co wiem nie ma funkcji aby cały rok wyświetlić. A może jest tylko nie wiem :).

Mając takie narzędzie spokojnie można zrobić dzieło pt KLIMAT POLSKI. Takie mapki jak zrobiłem można wtedy porobić dla każdej stacji w Polsce. Największy trud to gromadzenie danych.

Najlepiej , żeby data szła od 01 do 30 a nie odwrotnie bo wtedy jest niewygodnie. Czyli tak powinno być jak w linku niżej. Na ogimecie są 2 źródła danych. GSOD (GSOD Daily summaries) i DAILY (Daily summaries). GSOD to niby przefiltrowane i lepsze. Tylko w przykładzie załączonym niżej w GSOD  brakuje 2 dni z danymi a w DAILY są te dane. Kolejna różnica jest taka, że GSOD sięga daleko wstecz w przeciwieństwie do DAILY (od 1999)
Przykładowo dla Reska dane są tak dziurawe, że nie jestem w stanie zrobić takiego wykresu jak dla Szczecinka czy Świnoujścia.

http://www.ogimet.com/cgi-bin/gsodres?lang=en&mode=0&state=Spa&ind=12210&ord=DIR&ano=2006&mes=07&day=31&ndays=

http://www.ogimet.com/cgi-bin/gsynres?lang=en&ind=12210&ndays=31&ano=2006&mes=07&day=31&hora=23&ord=DIR&Send=Send
Zapisane

greg

  • Administrator
  • Ekspert
  • *****
  • Wiadomości: 3283
  • Będzin-Grodziec, woj. śląskie
    • Palmy w Polsce
Odp: Ogimet ekstraktor
« Odpowiedź #6 dnia: Październik 20, 2011, 07:53:33 »

No właśnie. Rocznie to chyba nie wyciągniemy. Dalej będzie trzeba miesiąc po miesiącu do pliku zapisywać.

Chyba, że ty coś zmodyfikujesz bo w ogimecie z tego co wiem nie ma funkcji aby cały rok wyświetlić. A może jest tylko nie wiem :).


Owszem w ogimecie tego nie ma, ale od czego jest PHP? :) Jeśli mam podany zakres danych to jestem w stanie PHP-em (automatycznie) wygenerować serię odpowiednich kwerend do serwisu. Wyniki przeparsować i zapisać do pliku. Nic nie stoi na przeszkodzie żebyś dzięki PHP-owi za jednym zamachem (tak Ty to będziesz widział) pobrał nawet i te 25 x 12 miesięcznych zestawień. To PHP sam wygeneruje te 25 x 12 zapytań (na podstawie wprowadzonego zakresu). Na tym polega cały myk. Inaczej to nie miałoby sensu. :)


Najlepiej , żeby data szła od 01 do 30 a nie odwrotnie bo wtedy jest niewygodnie.

To są drobiazgi. Da się zrobić bez najmniejszego problemu.


Czyli tak powinno być jak w linku niżej. Na ogimecie są 2 źródła danych. GSOD (GSOD Daily summaries) i DAILY (Daily summaries). GSOD to niby przefiltrowane i lepsze.

Na dziury w danych nic się nie poradzi. Można zrobić tak, że program będzie pobierał z GSOD lub DAILY. Albo i z tego, i z tego.
Zapisane
Moja strona: palmywpolsce.pl
Moje palmy: Palmy w Będzinie
Moje zabezpieczenia: „Projekt Phoenix” (2010), „Warownia” (2011), BigBag (2012), nadmuch c.o. (2012), opony (2012), Piankobuda (2013), Wiórkobuda (2013), Seria StyroLux (2014)
Forum o palmach mrozoodpornych, bananowcach i innych roślinach: forum.palmy.net.pl

Marcin D

  • Gość
Odp: Ogimet ekstraktor
« Odpowiedź #7 dnia: Październik 20, 2011, 08:50:35 »

Brzmi dobrze.
Pozostaje mi cierpliwie czekać.
To będzie prawdziwa rewolucja.
To może zrobimy nową wersje Atlasu Klimatu Polski? ;) Za lata 1986 do 2011. Lekka aktualizacja. Na IMGW nie ma co liczyć bo oni zrobią dopiero jak skończy się obecne trzydziestolecie, czyli po 2030r. można  spodziewać się nowego atlasu :).
Zapisane

pdjakow

  • G0
  • Użytkownik
  • *
  • Wiadomości: 93
    • Pogoda i Klimat
Odp: Ogimet ekstraktor
« Odpowiedź #8 dnia: Październik 25, 2011, 08:44:52 »

Surowa baza GSOD znajduje się tutaj:
ftp://ftp.ncdc.noaa.gov/pub/data/gsod/
Format danych jest stosunkowo prosty
124240 99999  20111019    46.3 24    ...
Numer stacji, Inny numer, data, średnia temp. dobowa (Fahrenheit), ilość obserwacji z których wyciągnięto tą średnią...
Baza GSOD powstała z innej bazy - ISH (Integrated Surface Hourly), która zawierała obserwacje w rozdzielczości godzinnej. Tam można było prześledzić, z jakich terminów GSOD wyciągnął średnie dobowe i czy są one obarczone dużym błędem. Niestety sama GSOD gubi tą informację, stąd nie jest najlepszym źródłem danych.
Baza ISH jeszcze do niedawna była dostępna, ale dostęp do niej został zastrzeżony. Jeśli jednak ktoś potrafi wejść do niej z domeny .edu (nie .edu.pl) lub gov (nie gov.pl) to znajdzie ją tutaj
http://www1.ncdc.noaa.gov/pub/data/noaa
Dostęp został zastrzeżony z uwagi na protesty poszczególnych narodowych służb meteo.
Część bazy danych udało mi się "uratować"

Zapisane

greg

  • Administrator
  • Ekspert
  • *****
  • Wiadomości: 3283
  • Będzin-Grodziec, woj. śląskie
    • Palmy w Polsce
Odp: Ogimet ekstraktor
« Odpowiedź #9 dnia: Październik 25, 2011, 12:04:20 »

Witaj na forum, zawodnik tej klasy jest tu bardzo mile widziany. Żebyś jeszcze palmy w gruncie uprawiał... ;)

Dzięki za link do surowej bazy. Faktycznie format danych jest znacznie prostszy, ale są one za to spakowane gzipem. Jak na szybko doczytałem na razie implementacja gzipa-a w PHP jest eksperymentalna. Nie wiadomo czy by to dobrze działało. Na pewno jeden i drugi sposób wyciągania danych ma wady i zalety. Będę się musiał zastanowić jak będzie łatwiej.

Taka surowa baza na pewno bardzo by mi się przydała jak pisałem artykuł o strefach USDA. Dobrze wiedzieć, że coś takiego jest i gdzie.

Co do bazy ISH to pierwszy raz o niej słyszę. Szkoda, że są takie restrykcje. Z gov.pl mógłbym wejść, ale piszesz, że się nie da. Szkoda. Jeśli dostęp jest przez http to PHP potrafi podać się za dowolną domenę. ;) Jeśli przez FTP to niestety nie wiem. Musiałbym to sprawdzić.
Zapisane
Moja strona: palmywpolsce.pl
Moje palmy: Palmy w Będzinie
Moje zabezpieczenia: „Projekt Phoenix” (2010), „Warownia” (2011), BigBag (2012), nadmuch c.o. (2012), opony (2012), Piankobuda (2013), Wiórkobuda (2013), Seria StyroLux (2014)
Forum o palmach mrozoodpornych, bananowcach i innych roślinach: forum.palmy.net.pl

pdjakow

  • G0
  • Użytkownik
  • *
  • Wiadomości: 93
    • Pogoda i Klimat
Odp: Ogimet ekstraktor
« Odpowiedź #10 dnia: Październik 25, 2011, 12:57:41 »

Wątpię czy uda się tak łatwo "oszukać" serwer NCDC. Szczegóły są tutaj:
http://www.ncdc.noaa.gov/oa/about/ncdchelp.html#FREE
Gdybym wiedział, że całkowicie odetną dostęp, to zrobiłbym pełną kopię, przynajmniej dla Polski. Tak to tylko zachowała się niewielka część danych i wyliczone przeze mnie podsumowania (średnie dla poszczególnych godzin danego dnia roku z okresu 1973-2009).
http://gfspl.rootnode.net/example.txt
np:
dzien,godzina,sr_temp,max_temp,data_max,min_temp,data_min,std_dev,liczba_obs,liczba_obs_std_dev
1,0,-1.93056,6,2007,-19,1979,6.33511,36,36

Co oznacza, że 1 dnia roku o 00UTC było średnio -1.9. Najcieplej było +6 w 2007 a najzimniej -19 w 1979. Odchylenie standardowe wynosi dla tego terminu 6.3, dostępnych było 36 lat z 37 możliwych.

Co do PHP, to jeśli w systemie znajduje się zainstalowany gzip to chyba można go wywołać jako program zewnętrzny?
Na serwerach postawiony jest z reguły Linux, a generalnie każda dystrybucja ma zainstalowanego gzipa.
Zapisane

greg

  • Administrator
  • Ekspert
  • *****
  • Wiadomości: 3283
  • Będzin-Grodziec, woj. śląskie
    • Palmy w Polsce
Odp: Ogimet ekstraktor
« Odpowiedź #11 dnia: Październik 25, 2011, 14:34:25 »

Gzipa jako programu zewnętrznego dałoby się pewnie użyć, ale to jeszcze chyba zależy jak to jest skonfigurowane po stronie providera (serwer). Nie jestem specjalistą od PHP tylko samoukiem. Nawet książki nie mam. Uczyłem się wyłącznie poprzez analizowanie cudzych programów i z manual on line. Tak czy siak - jak pisałem - oba sposoby mają wady i zalety z punktu widzenia implementacji.

Zapisane
Moja strona: palmywpolsce.pl
Moje palmy: Palmy w Będzinie
Moje zabezpieczenia: „Projekt Phoenix” (2010), „Warownia” (2011), BigBag (2012), nadmuch c.o. (2012), opony (2012), Piankobuda (2013), Wiórkobuda (2013), Seria StyroLux (2014)
Forum o palmach mrozoodpornych, bananowcach i innych roślinach: forum.palmy.net.pl

pdjakow

  • G0
  • Użytkownik
  • *
  • Wiadomości: 93
    • Pogoda i Klimat
Odp: Ogimet ekstraktor
« Odpowiedź #12 dnia: Październik 25, 2011, 15:43:47 »

Ja mam trochę miejsca na serwerze. Mógłbym jakoś przetworzyć dane z GSOD, pytanie co by Was interesowało, w sensie jakieś średnie, podsumowania, tabele? Mógłbym postawić własną bazę MySQL i zaimportować do niej wyniki. Wtedy można by na własną rękę tworzyć kwerendy.
Dla SYNOP Guillermo stworzył dobre narzędzie:
http://www.ogimet.com/getsynop_help.phtml.en
Niestety niema tego dla GSOD a szkoda. Kiedyś męczyłem go, żeby rozszerzył Ogimet o to samo narzędzie dla depesz CLIMAT. Niestety póki co się nie skusił.
Zapisane

greg

  • Administrator
  • Ekspert
  • *****
  • Wiadomości: 3283
  • Będzin-Grodziec, woj. śląskie
    • Palmy w Polsce
Odp: Ogimet ekstraktor
« Odpowiedź #13 dnia: Listopad 03, 2011, 14:09:13 »

Mnie chodzi o to bym w dowolnej chwili mógł sobie sprawdzić dowolną stację. Czyli potencjalnie w moim zainteresowaniu jest cała baza, z której korzysta ogimet. Na przykład dostałbym informację o lokalizacji jakieś butii lub jubei gdzie ma ona rosnąć bez zabezpieczeń i chciałbym sprawdzić jakie są temperatury w tamtym rejonie. Zatem za propozycję udostępnienia bazy bardzo dziękuję, ale nie wydaje mi się by było to potrzebne.

Przyszedł mi natomiast do głowy inny pomysł. Można pójść dalej i po napisaniu Ogimet ekstraktora napisać Ogimet analizer. Nawet zrobienie wykresu nie byłoby problemem. W podstawowym zakresie opanowałem już użycie pluginu flot. Jak wyglądają wykresy przezeń generowane można się przekonać zaglądając do wątku Kalkulator wydajności wentylacji. Co można zrobić? Tak wstępnie to myślę, że na przykład można by było kazać programowi wyświetlić dowolny (wybrany) rok lub lata, miesiąc czy temperaturę w danym dniu przez wszystkie lata, policzyć dowolną średnią, zwizualizować to jakoś wykresem (np. zestawić coś na jednym wykresie) itp. itd. Idzie zima. Będzie co robić.
Zapisane
Moja strona: palmywpolsce.pl
Moje palmy: Palmy w Będzinie
Moje zabezpieczenia: „Projekt Phoenix” (2010), „Warownia” (2011), BigBag (2012), nadmuch c.o. (2012), opony (2012), Piankobuda (2013), Wiórkobuda (2013), Seria StyroLux (2014)
Forum o palmach mrozoodpornych, bananowcach i innych roślinach: forum.palmy.net.pl

pdjakow

  • G0
  • Użytkownik
  • *
  • Wiadomości: 93
    • Pogoda i Klimat
Odp: Ogimet ekstraktor
« Odpowiedź #14 dnia: Listopad 03, 2011, 19:41:07 »

Jak sobie tam chcesz :) Testowo wypełniłem dane do 1981 włącznie (Koszmarna ilość, 37 milionów rekordów). Tak na próbę wyświetliłem podsumowania miesięczne:
http://gfspl.rootnode.net/gsod/

Zapisane