README in inglese (geocoding aggiornato a Photon)

This commit is contained in:
2026-09-01 20:16:53 +02:00
parent 97bc71343f
commit bfd7369ec7
+46 -46
View File
@@ -1,72 +1,72 @@
# harbour-tide
Previsioni di marea **universali** per Sailfish OS — client nativo Silica con
motore armonico locale (nessuna API di maree: calcolo offline, per sempre).
**Universal tide predictions** for Sailfish OS — native Silica client with a
local harmonic engine (no tide API: offline computation, forever).
## Funzionalità
## Features
- **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,
- **7-constituent harmonic engine** (M2, S2, N2, K1, O1, P1, K2):
`h(t) = Z₀ + Σ Aᵢ·cos(ωᵢt + φᵢ)`, computed locally
- **16 known ports** with realistic constants (Italy + London, 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
- **Free city search**: OpenStreetMap geocoding via Photon with offline
fallback on the local dataset; constants are taken from the known port
within 222 km, otherwise from a synthetic lat/lon estimate (labelled)
- **"Nearest port" card** highlighted when opening a searched city
- **24/48/72 h chart** with high/low tides marked with times, tap for the
height at a given point
- **Moon phase and sunrise/sunset** computed
- **Italian and English** (language selector in settings, applied on app
restart; `.qm` catalogue in the app data dir)
- **Saved preferences**: language, preferred port (opened at startup and
shown on the cover), unit (m/ft), chart range
## Build
Serve il [Sailfish SDK](https://sailfishos.org/wiki/Sailfish_SDK).
Requires the [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 install SailfishOS-5.0.0.62-aarch64 # or your device target
sfdk target use SailfishOS-5.0.0.62-aarch64
sfdk build # produce l'RPM in RPMS/
sfdk deploy # installa sul dispositivo connesso
sfdk build # produces the RPM in RPMS/
sfdk deploy # installs on the connected device
```
Target consigliati: `aarch64` (Jolla Phone 2026, Xperia 10 II/III),
`armv7hl` (Xperia X, Jolla C), `x86_64` (emulatore).
Recommended targets: `aarch64` (Jolla Phone 2026, Xperia 10 II/III),
`armv7hl` (Xperia X, Jolla C), `x86_64` (emulator).
## Struttura
## Structure
```
src/ C++: main.cpp (lingua + translator), settings
src/ C++: main.cpp (language + 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-tide.ts (EN sorgente), harbour-tide_it.ts
icons/ icone 86/108/128/172 (make_icons.py, stile harbour)
rpm/ spec e desktop file (SailJail: Internet)
qml/js/tides.js harmonic engine (pure ES5, Qt 5.6 compatible):
constants, prediction, extrema, synthetic estimate,
local geocoding, moon, sun
qml/pages/ MainPage (ports + free city search), DetailPage
(canvas chart, events, nearest-port card, astro),
SettingsPage (language, unit, range, port)
qml/cover/ cover with preferred port and next tide
translations/ harbour-tide.ts (EN source), harbour-tide_it.ts
icons/ icons 86/108/128/172 (make_icons.py, harbour style)
rpm/ spec and desktop file (SailJail: Internet)
```
## Configurazione
## Configuration
File: `~/.config/harbour/tide/tide.conf` (QSettings, zona persistente
della sandbox SailJail). Chiavi: `language` (system/en/it), `preferredPort`,
File: `~/.config/harbour/tide/tide.conf` (QSettings, persistent zone of the
SailJail sandbox). Keys: `language` (system/en/it), `preferredPort`,
`unit` (m/ft), `days` (1/2/3).
## Limiti noti
## Known limitations
- 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.
- Port constants are synthetic but realistic; the lat/lon estimate does not
distinguish closed basins (Mediterranean) from open ocean.
- Accuracy of a real global model (FES2014/TPXO9): ~10–20 cm in open ocean;
the engine is ready to receive grid constants.
- Not for navigation.
- Language is applied on app restart.
## Licenza
## License
MIT