Polecenia REST do serwisu www - METEO (wersja 0.27 [2015.04.12])

Wprowadzenie

W ramach dokumentntu zostaną przedstawione polecenia umożliwiające odczyt danych z centralnej bazy danych w której gromadzone są dane pomiarowe z lokalnych stacji meterologicznych. Dane udostępniane są w formacie JSON (ang. JavaScript Object Notation) lub w formacie CSV (ang. Comma Separated Values - wartości rozdzielone przecinkiem).

Plan

  1. Odczyt wybranych danych dotyczących szkół
  2. Odczyt szczegółowych danych dotyczących określonej szkoły
  3. Odczyt aktualnych danych dla określonej szkoły
  4. Odczyt historycznych danych w formacje JSON
  5. Odczyt historycznych danych w formacje CSV
  6. Odczyt danych statystycznych (liczba zarejestrowanych pomiarów)
  7. Odczyt danych zagregowanych w przedziałach godzinnych

1. Odczyt wybranych danych dotyczących szkół

Polecenie pobiera wybrane dane dla wszystkich szkół uczestniczących w projekcie. Dane zostaną zwrócone w formacie JSON. Format polecenia przedstawiono poniżej.

http://mech.fis.agh.edu.pl/meteo/rest/json/info/

Struktura zwróconych danych została przedstawiona poniżej:

    [ {"station":"s001", "name":"Liceum Ogólnokształcące ...", "long":17.11, "lati":54.00, "alti":220}, {}, {}, {} ]
  

W tablicy [] w kolejnych obiektach {} umieszczono wybrane dane dla kolejnych szkół. Tablica zawiera dane dla wszystkich szkół, które zarejstrowały swoją stację meteo w serwisie METEO. Kolejne klucze przedstawiają następujące wartości:

Poniżej przykład wykorzystania przedstawionego polecenia REST udostępniającego dane w formacie JSON.

2. Odczyt szczegółowych danych dotyczących określonej szkoły

Odczyt wszystkich danych dotyczących szkoły udostępniony w serwise. Dane zostaną zwrócone w formacie JSON. Format polecenia przedstawiono poniżej.

http://mech.fis.agh.edu.pl/meteo/rest/json/desc/{station}

gdzie:

{station}
identyfikator szkoły (stacji)

Uwagi. Na etapie wdrażania.

3. Odczyt aktualnych danych dla określonej szkoły

W ramach tego polecenia zostaną zwrócone dane meteorologiczne dla ostatnich dziesięciu pomiarów w formacie JSON dla określonej stacji. Format polecenia przedstawiono poniżej.

http://mech.fis.agh.edu.pl/meteo/rest/json/last/{station}

gdzie:

{station}
identyfikator szkoły (stacji)

W ramach zwróconych danych przez serwis otrzymamy wartości dla wszystkich wielkości meteorologicznych dla ostatnich dziesięciu pomiarów zapisanych w bazie danych. Jest to tablica zawierająca dziesieć obiektów (obiekt to pojedynczy pomiar). Struktura dokumentu JSON wygenerowanego dla tego polecenia przez serwis METEO została przedstawiona poniżej (wydruk zawiera dane dla dwóch punktów pomiarowych).

   [{"time":"2014-11-28 20:08:00","utc":"2014-11-28 19:08:00","station":"s000",
     "data":{"ws":"2.4","wg":"4.1","wd":"338","ta":"-1.1","t0":"-3.0","ha":"87","p0":"1027.4","r1":"0.0","ra":"0.0","h0":"220"}},
    {"time":"2014-11-28 20:07:00","time":"2014-11-28 19:07:00","station":"s000",
     "data":{"ws":"3.1","wg":"4.1","wd":"315","ta":"-0.9","t0":"-2.8","ha":"87","p0":"1027.2","r1":"0.0","ra":"0.0","h0":"220"}},
    ... ]
  

Kolejne klucze przedstawiają następujące wielkości meteorologiczne:

Poniżej przykłady wykorzystania przedstawionego polecenia REST udostępniającego pomiary w formacie JSON.

4. Odczyt historycznych danych w formacje JSON

Odczyt danych z serwisu WWW w formacie JSON następuje poprzez polecenie:

http://mech.fis.agh.edu.pl/meteo/rest/json/{par}/{station}/{start-data}/{end-data}

gdzie:

{par}
identyfikator mierzonej wielkości meteorologicznej: all - wszystkie parametry, pres0 - ciśnienie na poziomie morza, temp - temperatura, temp0 - temperatura punktu rosy, humi - wilgotność, rain1 - opad w ciągu ostatniej godziny, rain - opad dobowy, windd - kierunek wiatru, winds - prędkość wiatru i windg - chwilowa prędkość wiatru.
{station}
identyfikator stacji
{start-date}
początkowa data pomiarów
{end-date}
końcowa data pomiarów

Polecenie zwraca dane maksymalnie dla 31 dni pomiarowych. W przypadku, gdy różnica pomiędzy wielkościami {start-data} i {end-data} jest większa od 31, zwrócone zostaną dane z 31 dni począwszy od daty umieszczonej w {start-data}. Jeżeli zostanie pominięty parametr {end-data} zwrócone zostaną wartości pomiarowe dla 31 dni począwszy od daty zawartej w parametrze {start-data}. W przypadku, gdy nie zostaną podane parametry {start-data} i {end-data} zwrócone zostaną dane dla ostatnich 31 dni od aktualnej daty.

W przypadku parametru all serwis METEO zwraca dane w poniższej strukturze.

   [{"time":"2014-11-01 00:00:00","utc":"2014-10-31 23:00:00","station":"s000",
     "data":{"ws":"0.3","wd":"135","wg":"1.0","ta":"1.0","ha":"91","t0":"-0.3","p0":"1030.9","rh":"0.0","ra":"0.0","h0":"220"}},
    ... ]
  

Kolejne klucze przedstawiają następujące wielkości meteorologiczne:

Poniżej przykłady wykorzystania przedstawionego polecenia REST udostępniającego pomiary w formacie JSON.

5. Odczyt historycznych danych w formacje CSV

Odczyt danych z serwisu WWW w formacie CSV następuje poprzez polecenie:

http://mech.fis.agh.edu.pl/meteo/rest/csv/{par}/{station}/{start-data}/{end-data}

gdzie:

{par}
identyfikator mierzonej wielkości meteorologicznej: pres0 - ciśnienie na poziomie morza, temp - temperatura, temp0 - temperatura punktu rosy, humi - wilgotność, rain1 - opad w ciągu ostatniej godziny, rain - opad dobowy, windd - kierunek wiatru, winds - prędkość wiatru i windg - chwilowa prędkość wiatru.
{station}
identyfikator stacji
{start-date}
początkowa data pomiarów
{end-date}
końcowa data pomiarów

Polecenie zwraca dane maksymalnie dla 31 dni pomiarowych. W przypadku, gdy różnica pomiędzy wielkościami {start-data} i {end-data} jest większa od 31, zwrócone zostaną dane z 31 dni począwszy od daty umieszczonej w {start-data}. Jeżeli zostanie pominięty parametr {end-data} zwrócone zostaną wartości pomiarowe dla 31 dni począwszy od daty zawartej w parametrze {start-data}. W przypadku, gdy nie zostaną podane parametry {start-data} i {end-data} zwrócone zostaną dane dla ostatnich 31 dni od aktualnej daty.

W kolejnych wierszach wygenerowanych przez serwis znajduje się data i czas pomiaru, czas UTC oraz wartość wybranego parametru (dane rozdzielone przecinkami).

Poniżej przykłady wykorzystania przedstawionego polecenia REST udostępniającego dane w formacie CSV.

6. Odczyt danych statystycznych (liczba zarejestrowanych pomiarów)

Odczyt danych z serwisu WWW w formacie JSON następuje poprzez polecenie:

http://mech.fis.agh.edu.pl/meteo/rest/json/stat/{station}/{rrrr-mm}

gdzie:

{station}
identyfikator stacji
{rrrr-mm}
miesiąc dla którego pobieramy dane statystyczne

Polecenie zwraca liczbę zarejestrowanych pomiarów w każdym dniu w wybranym miesiącu. Jeżeli zostanie pominięty parametr {rrrr-mm} zwrócone zostaną wartości dla pomiarów zarejestrownych w bieżącym miesiącu.

Strukturę danych zwróconych przez polecenie przedstawiono poniżej.

   [{"data":{"year":2014,"month":11,"day":1},"count":1731},
    {"data":{"year":2014,"month":11,"day":2},"count":1728},
    ... ]
  

Kolejne klucze przedstawiają następujące wielkości meteorologiczne:

Poniżej przykład wykorzystania przedstawionego polecenia REST udostępniającego dane w formacie JSON.

7. Odczyt danych zagregowanych w przedziałach godzinnych

Odczyt zagregowanych danych z serwisu WWW w formacie JSON następuje poprzez polecenie:

http://mech.fis.agh.edu.pl/meteo/rest/agg/{par}/{station}/{start-data}/{end-data}

gdzie:

{par}
identyfikator mierzonej wielkości meteorologicznej: pres0 - średnia wartość ciśnienia na poziomie morza w przedziale godzinnym, temp - średnia wartość temperatury w przedziale godzinnym, temp0 - średnia wartość temperatury punktu rosy w przedziale godzinnym, humi - średnia wartość wilgotności w przedziale godzinnym, rain1 - opad w ciągu ostatniej godziny, windd - histogram częstości kierunków wiatru w przedziałach co 30 stopni w przedziale godzinnym, winds - wartość średnia prędkości wiatru w przedziale godzinnym i windg - maksymalna wartość prędkości wiatru w przedziale godzinnym
{station}
identyfikator stacji
{start-date}
początkowa data pomiarów
{end-date}
końcowa data pomiarów

Polecenie zwraca dane maksymalnie dla 31 dni pomiarowych. W przypadku, gdy różnica pomiędzy wielkościami {start-data} i {end-data} jest większa od 31, zwrócone zostaną dane z 31 dni począwszy od daty umieszczonej w {start-data}. Jeżeli zostanie pominięty parametr {end-data} zwrócone zostaną wartości pomiarowe dla 31 dni począwszy od daty zawartej w parametrze {start-data}. W przypadku, gdy nie zostaną podane parametry {start-data} i {end-data} zwrócone zostaną dane dla ostatnich 31 dni od aktualnej daty.

W przypadku parametru temp serwis METEO zwróci dane w poniższej strukturze (podobnie zostaną zrócone dane dla parametrów: temp0, humi, pres0, winds, windg).

   [{"utc":"2014-10-31 23:00:00", "ta_avg":"1.0"}, ... ]
  

W przypadku parametru windd serwis METEO zwróci dane opisujące histogram w poniższej strukturze.

   [{"utc":"2015-03-31 22:00:00","wd_hist":[1,0,0,0,0,36,31,1,3,1,0,0]}, ... ]
  

kolejne wartosci w tablicy przedstawiają częstość kierunku wiatru w przedziałach: 0-30, 30-60, 60-90, ... , 330-360.

Poniżej przedstawiono znaczenie kluczy:

Poniżej przykłady wykorzystania przedstawionego polecenia REST udostępniającego zgregowane dane (format JSON).