Antistorm API V1 - serwis dla webmasterów i deweloperów.

  1. Konstrukcja systemu
  2. Postanowienia ogólne
  3. Struktura danych i komunikacja z serwerem
  4. Wyświetlanie danych i znaczenie kolorów w widgecie
  5. Wygeneruj kod i zobacz przykład widgetu
  6. Warunki korzystania z usługi
1. Konstrukcja systemu

Antistorm w zadanych odstępach czasowych (co 15 minut) przelicza prawdopodobieństwa wystąpienia burz i opadów bazując na bieżących i historycznych danych. Wynikowe obiekty to grafiki i wartości liczbowe dla koordynatów przestrzennych oraz znanych lokalizacji ponad 400 miast Polski. Dane te są udostępniane przez usługę w ramach serwisu antistorm. Dodatkowo Antistorm API umożliwia dostęp do danych miast poza serwisem na stronach użytkowników w formie widgetów.

2. Postanowienia ogólne

Twórca antistorm nie jest w stanie zapewnić ciągłości i dokładności danych, ponieważ jest to w całości zależne od dostawcy. Stabilność przetwarzania danych zależy od hostingu strony (unixstorm). Wyłącza to odpowiedzialność twórcy strony za nieprawidłowe, niedokładne lub niestabilne działanie serwisu antistorm.

3. Struktura danych i komunikacja z serwerem

Usługa stron (webservice) wymaga zapytania get, dostarczającego wartość zmiennej 'id' dla miasta. W przypadku odnalezienia miasta o zadanym 'id' strona zwraca plik json zawierający nazwę miasta oraz dane z ostatniego przeliczenia - prawdopodobieństwo wystąpienia burzy, czas do burzy, status alarmu i dane o aktywnej burzy nad lokalizacją.

Przykład dla Zakopanego - zapytanie:

http://antistorm.eu/webservice.php?id=416

... i odpowiedź serwera:

{"m": "Zakopane", "p_b": 20, "t_b": 30, "a_b": 1, "p_o": 120, "t_o": 32, "a_o": 1, "s": 0}
Kolejno:
  • "m" : nazwa miasta
  • "p_b" : prawdopodobieństwo burzy dla miasta [jednostka bezwymiarowa od 0-255, znaczące >10, wysokie >30]
  • "t_b" : szacowany czas do burzy [minuty, 255 to górny limit i oznacza nieznany czas nadaejścia]
  • "a_b" : status alarmu dla burzy [1-alarm zgłoszony / 0-brak alarmu]
  • "s" : aktywna burza nad miastem
  • "p_o" : prawdopodobieństwo opadów dla miasta [jednostka bezwymiarowa od 0-255, znaczące >10, wysokie >30]
  • "t_o" : szacowany czas do opadów [minuty, 255 to górny limit i oznacza nieznany czas nadaejścia]
  • "a_o" : status alarmu dla opadów [1-alarm zgłoszony / 0-brak alarmu]

Zwracany plik json może być przetwarzany przez zewnętrzny serwer, ale poleca się korzystanie z hostowanego na serwerze skryptu, bowiem w przyszłości struktura json może się zmienić bez wcześniejszej zapowiedzi. Dowolnie można zmieniać wygląd widgetu, dostosowywać kolory, wymiary i wzajemnie położenie elementów.

4. Wyświetlanie danych i znaczenie kolorów w widgecie

Widget nie wymaga żadnych zewnętrznych grafik, jest przez to 'lekki' i łatwo konfigurowalny. Kolory wyświetlające się obok nazwy miejscowości grają rolę ostrzegawczą. Kolor zielony oznacza brak zagrożeń, kolory żółty, pomarańczowy i czerwony odzwierciedlają szacowany czas do wystąpienia burzy. Czas wyświetla się także pod nazwą miejscowości, ale tylko wtedy, gdy system zgłosił zagrożenie dla tego obszaru. Zazwyczaj kolor i zagrożenie idą ze sobą w parze. Algorytm złaszania zagrożeń jest jednak nieco bardziej skomplikowany i bywa, że wstrzymuje zgłoszenie zagrożenia. Nie zobaczymy wtedy czasu pozostałego do burzy, bo czas ten podlega znacznym fluktuacjom i jest dłuższy od godziny.

  • zielony - >120 minut do burzy, stan ostrzeżeń niepewny
  • żółty - <120 ale >60 minut do burzy, tu zazwyczaj pojawia się szacowany czas.
  • pomarańczowy - <60 ale >20minut do burzy, tu niemal zawsze jest podawany czas.
  • czerwony - <30 minut minut do burzy.
W kolejnych przeliczeniach szacowany czas może ulegać zmianie, prognozy nie zawsze się sprawdzają. Zjawiska burzowe są dynamiczne i twórca strony dokłada wszelkich starań, aby prognozy były jak najtrafniejsze.
5. Wygeneruj kod i zobacz przykład widgetu

5.1 Aby wygenerować kod widgetu najpierw należy odszukać identyfikator miasta. W polu poniżej wpisz szukane miasto:

miasto:

Wygenerowany kod można wkleić na stronie w miejscu, w którym chce się zobaczyć status zagrożeń dla wybranego miasta.

5.2 Przykład widgetu:

ostrzeżenia przed burzami - antistorm.eu
6. Warunki korzystania z usługi

Usługa Antistorm API jest całkowicie darmowa dla wszystkich serwisów niekomercyjnych, jednak autor zastrzega sobie możliwość okresowego wyświetlania niewielkich grafik reklamowych w zakresie widgetu, dochód z których zostanie przeznaczony na utrzymanie, rozwój strony a także fundowanie zestawów pomiarowych wykrywających wyładowania, współpracujących z dostawcą usług. Jeśli jesteś użytkownikiem biznesowym i chcesz skorzystać z serwisu, proszę o kontakt mailowy janlgorski@gmail.com

UWAGA! Jednocześnie podkreślam, że usługa Antistorm API nie służy do tego, aby pobierać co 15 minut całą listę miast przy pomocy skryptu. Jest to trywialne, ale skończy się szybkim osiągnięciem limitu lub banem. Niestety nie dysponuję obecnie serwerem, który poradzi sobie z tak dużą ilością zapytań bez strat dla korzystania z serwisu. Udostępniłem tą funkcję dla blogerów i webmasterów prowadzących niewielkie tematyczne serwisy związane z konkretnymi miejscowościami. API dla programistów zostanie udostępnione, jeśli serwis zarobi na nowy, lepszy serwer bez limitów, na co mam nadzieję.