73 lines
2.9 KiB
Markdown
73 lines
2.9 KiB
Markdown
# harbour-maree
|
||
|
||
Previsioni di marea **universali** per Sailfish OS — client nativo Silica con
|
||
motore armonico locale (nessuna API di maree: calcolo offline, per sempre).
|
||
|
||
## Funzionalità
|
||
|
||
- **Motore armonico a 7 costituenti** (M2, S2, N2, K1, O1, P1, K2):
|
||
`h(t) = Z₀ + Σ Aᵢ·cos(ωᵢt + φᵢ)`, calcolato localmente
|
||
- **16 porti noti** con costanti realistiche (Italia + Londra, New York,
|
||
San Francisco, Tokyo, Sydney, Honolulu)
|
||
- **Ricerca libera delle città**: geocoding OpenStreetMap (Nominatim) con
|
||
fallback su dataset locale offline; le costanti arrivano dal porto noto
|
||
entro 222 km, altrimenti da una stima sintetica da lat/lon (etichettata)
|
||
- **Card "porto più vicino"** in evidenza quando si apre una città cercata
|
||
- **Grafico 24/48/72 h** con alte/basse maree marcate e orari, tap per
|
||
altezza in un punto
|
||
- **Fase lunare e alba/tramonto** calcolati
|
||
- **Italiano e inglese** (selettore lingua nelle impostazioni, applicata al
|
||
riavvio; catalogo `.qm` nel data dir dell'app)
|
||
- **Preferenze salvate**: lingua, porto preferito (aperto all'avvio e
|
||
mostrato sulla cover), unità (m/ft), intervallo del grafico
|
||
|
||
## Build
|
||
|
||
Serve il [Sailfish SDK](https://sailfishos.org/wiki/Sailfish_SDK).
|
||
|
||
```sh
|
||
sfdk target install SailfishOS-5.0.0.62-aarch64 # o il target del dispositivo
|
||
sfdk target use SailfishOS-5.0.0.62-aarch64
|
||
sfdk build # produce l'RPM in RPMS/
|
||
sfdk deploy # installa sul dispositivo connesso
|
||
```
|
||
|
||
Target consigliati: `aarch64` (Jolla Phone 2026, Xperia 10 II/III),
|
||
`armv7hl` (Xperia X, Jolla C), `x86_64` (emulatore).
|
||
|
||
## Struttura
|
||
|
||
```
|
||
src/ C++: main.cpp (lingua + translator), settings
|
||
(QSettings: language, preferredPort, unit, days)
|
||
qml/js/tides.js motore armonico (ES5 puro, compatibile Qt 5.6):
|
||
costanti, predizione, estremi, stima sintetica,
|
||
geocoding locale, luna, sole
|
||
qml/pages/ MainPage (porti + ricerca libera), DetailPage
|
||
(grafico canvas, eventi, card porto vicino, astro),
|
||
SettingsPage (lingua, unità, intervallo, porto)
|
||
qml/cover/ cover con porto preferito e prossima marea
|
||
translations/ harbour-maree.ts (EN sorgente), harbour-maree_it.ts
|
||
icons/ icone 86/108/128/172 (make_icons.py, stile harbour)
|
||
rpm/ spec e desktop file (SailJail: Internet)
|
||
```
|
||
|
||
## Configurazione
|
||
|
||
File: `~/.config/harbour/maree/maree.conf` (QSettings, zona persistente
|
||
della sandbox SailJail). Chiavi: `language` (system/en/it), `preferredPort`,
|
||
`unit` (m/ft), `days` (1/2/3).
|
||
|
||
## Limiti noti
|
||
|
||
- Le costanti dei porti sono sintetiche ma realistiche; la stima da lat/lon
|
||
non distingue bacini chiusi (Mediterraneo) da oceano aperto.
|
||
- Precisione di un vero modello globale (FES2014/TPXO9): ~10–20 cm in oceano
|
||
aperto; il motore è predisposto a ricevere le costanti da griglia.
|
||
- Non per navigazione.
|
||
- La lingua si applica al riavvio dell'app.
|
||
|
||
## Licenza
|
||
|
||
MIT
|