feat: add global weather support
All checks were successful
CI / Lint, typecheck and build (push) Successful in 9m54s

This commit is contained in:
zv
2026-06-14 15:53:34 +02:00
parent d572c9cc53
commit 2182297adc
45 changed files with 739 additions and 212 deletions

View File

@@ -18,13 +18,27 @@
IMGW jest traktowane jako źródło bieżących pomiarów, hydro i ostrzeżeń. Prognoza modelowa jest w interfejsie rozdzielona od pomiarów.
IMGW jest używane tylko dla lokalizacji w Polsce. Dla lokalizacji globalnych oficjalne ostrzeżenia IMGW, dane hydrologiczne IMGW, TERYT i powiatowe filtrowanie ostrzeżeń są niedostępne.
## Open-Meteo
Open-Meteo Forecast API (`https://api.open-meteo.com/v1/forecast`) dostarcza pełny 7-dniowy horyzont prognozy, prawdopodobieństwo opadu i fallback, jeśli IMGW ALARO nie odpowiada.
Open-Meteo Forecast API (`https://api.open-meteo.com/v1/forecast`) dostarcza pełny 7-dniowy horyzont prognozy, prawdopodobieństwo opadu i fallback, jeśli IMGW ALARO nie odpowiada. Poza Polską dostarcza także modelowe warunki bieżące dla dashboardu.
Open-Meteo Geocoding API (`https://geocoding-api.open-meteo.com/v1/search`) służy do wyszukiwania miejscowości w Polsce.
Open-Meteo Geocoding API (`https://geocoding-api.open-meteo.com/v1/search`) służy do globalnego wyszukiwania miejscowości. Wynik zawiera m.in. `countryCode`, `admin1`, `admin2`, `timezone` i współrzędne, które aplikacja zapisuje w modelu lokalizacji.
Przed większym lub komercyjnym wdrożeniem należy sprawdzić aktualne warunki korzystania z Open-Meteo albo zastąpić usługę własnym dostawcą.
Przed większym, publicznym lub komercyjnym wdrożeniem należy sprawdzić aktualne warunki korzystania, limity i licencję Open-Meteo albo zastąpić usługę własnym dostawcą.
## Capabilities per Region
| Capability | Polska | Global |
| --- | --- | --- |
| Bieżące warunki | IMGW Hybrid + fallback `synop` | Open-Meteo model |
| Prognoza godzinowa | IMGW ALARO + Open-Meteo | Open-Meteo |
| Prognoza dzienna | IMGW ALARO/Open-Meteo | Open-Meteo |
| Oficjalne ostrzeżenia | IMGW | niedostępne |
| Filtrowanie powiatowe | TERYT | niedostępne |
| Briefy | tak | tak, bez oficjalnych alertów |
| Push alerty oficjalne | IMGW | niedostępne |
## Nominatim / OpenStreetMap
@@ -43,12 +57,13 @@ Przed wdrożeniem o większym ruchu należy sprawdzić aktualną politykę użyc
| Dane | Cache |
| --- | --- |
| IMGW Hybrid | 120 sekund, `stale-while-revalidate=300` |
| Modelowe warunki bieżące Open-Meteo | 120 sekund, `stale-while-revalidate=300` |
| Prognoza modelowa | 900 sekund, `stale-while-revalidate=1800` |
| Proxy IMGW `danepubliczne.imgw.pl` | 300 sekund, `stale-while-revalidate=600` |
| Wyszukiwanie miejscowości | 24 godziny, `stale-while-revalidate=7 dni` |
| Reverse geocoding | 24 godziny, `stale-while-revalidate=7 dni` |
Service worker dodatkowo może cache'ować odpowiedzi `GET` dla `/api/imgw/*`, `/api/imgw-current` i `/api/forecast`, aby ostatnio pobrane dane były dostępne przy problemach z siecią.
Service worker dodatkowo może cache'ować odpowiedzi `GET` dla `/api/imgw/*`, `/api/imgw-current`, `/api/current-weather` i `/api/forecast`, aby ostatnio pobrane dane były dostępne przy problemach z siecią.
## Ograniczenia Źródeł