Kod napisany w celu ułatwienia pobierania danych publicznych z bazy Instytutu Meteorologii i Gospodarki Wodnej (IMGW-PIB) z wykorzystaniem Pythona. Dane pochodzą z serwisu IMGW Dane Publiczne.
Możliwe jest również pobieranie danych z modeli probabilistycznych opadów maksymalnych o określonym czasie trwania i prawdopodobieństwie - projekt PMAXTP, które są udostępniane w serwisie IMGW Klimat.
-
Pobieranie danych pomiarowo-obserwacyjnych oraz ostrzeżeń:
- Aktualne dane meteorologiczne, hydrologiczne oraz ostrzeżenia przez API.
- Historyczne dane meteorologiczne oraz hydrologiczne dla wybranego okresu i interwału (dobowe, miesięczne, półroczne i roczne).
-
Modele probabilistyczne opadów maksymalnych (PMAXTP):
- Pobieranie opadów maksymalnych prawdopodobnych dla określonych czasów trwania i prawdopodobieństw.
-
Analiza hydrologiczna:
- Obliczanie podstawowych statystyk hydrologicznych dla wybranych posterunków wodowskazowych (np. przepływy charakterystyczne II°).
- Wyznaczanie krzywej prawdopodobieństwa przewyższenia przepływu dla rozkładów:
- Logarytmiczno-normalnego.
- GEV (Generalized Extreme Value).
- Pearson typu III.
- Wyznaczanie krzywej prawdopodobieństwa nieosiągnięcia przepływu dla rozkładu Fishera-Tippeta (GEV).
-
Wizualizacja danych:
- Roczne przepływy maksymalne, średnie i minimalne dla wybranych posterunków wodowskazowych.
- Sieć pomiarowo-obserwacyjna IMGW.
-
Interfejs graficzny (GUI):
- Prosty interfejs graficzny do pobierania danych PMAXTP w formacie JSON.
- Python 3.12 lub nowszy.
- Zainstalowane biblioteki:
requests
seaborn
pandas
numpy
scipy
pyshp
pyproj
Aby zainstalować wymagane biblioteki, użyj:
pip install -r requirements.txt
- Sklonuj repozytorium:
git clone https://github.com/TwojeRepozytorium/IMGWTools.git
cd IMGWTools
- Zainstaluj wymagane biblioteki:
pip install -r requirements.txt
Pobieranie danych PMAXTP przez GUI:
- Uruchom interfejs graficzny:
python code/pmaxtp_gui.py
- Wprowadź parametry:
- Metoda. Annual Max Precipitation (AMP) lub Peak Over Threshold (POT).
- Długość geograficzna.
- Szerokość geograficzna.
- Ścieżka folderu do zapisu pliku.
- Kliknij przycisk Pobierz dane. Dane zostaną zapisane do pliku JSON.
Pobieranie najnowszych danych pomiarowo-obserwacyjnychych przez API. Przykład pobierania danych hydrologicznych:
from code.imgw_api import HYDRO
hydro = HYDRO(station_id="150160180")
data = hydro.get_hydro_data()
print(data)
Pobieranie historycznych danych plikowych. Przykład pobierania danych hydrologicznych:
from code.imgw_datastore import *
data_type = "dane_hydrologiczne"
downloader = DataDownloader(data_type)
downloader.download_data()
Odpowiadając na kolejne pytania, możliwe jest pobranie danych z ostatnich 30 lat lub wybranego okresu oraz dla wybranego interwału czasowego.
code/
- Główne moduły aplikacji:hydro_stats.py
- Klasy do obliczania podstawowych statystyk hydrologicznych i wizualizacji danych.imgw_api.py
- Klasy do obsługi API IMGW.imgw_datastore.py
- Klasa służąca do pobierania i zarządzania danymi z publicznych zasobów IMGW.imgw_spatial.py
- Klasy do wizualizacji lokalizacji wybranej lokalizacji na mapie Polski.meteo_stats.py
- Klasy do obliczania podstawowych statystyk meteorologiczne i wizualizacji danych.pmaxtp_gui.py
- Interfejs graficzny do pobierania danych PMAXTP.
data/
- Wszystko to co niezbędne do zrozumienia danych i pracy na nich.desc/
- Opis strutury danych.downloaded/
- Zapisane pliki.
Notebooks/
- Notebooki Jupyter z przykładami użycia.LICENSE
- Licencja.README.md
- Dokumentacja projektu.
Jeśli napotkasz problemy, zgłoś je w sekcji Issues.
Projekt jest udostępniony na liencji MIT. Szczegóły znajdziesz w pliku License
.