Skip to content

EFFIS non richiede accreditamento: il client parlava GeoServer a un MapServer - #98

Merged
gzileni merged 1 commit into
mainfrom
fix/effis-endpoint
Sep 5, 2026
Merged

EFFIS non richiede accreditamento: il client parlava GeoServer a un MapServer#98
gzileni merged 1 commit into
mainfrom
fix/effis-endpoint

Conversation

@gzileni

@gzileni gzileni commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Non serviva alcun accreditamento CEMS. La conclusione era sbagliata, ed è finita in tre issue (#58, #66, #68) e in due documenti.

Cosa succedeva davvero

maps.effis.emergency.copernicus.eu è un MapServer, e il nostro client gli parlava dialetto GeoServer. Tre errori insieme, ognuno dei quali basta a produrre silenzio:

avevamo corretto come falliva
path /gwis/ows /gwis va in timeout, non 404
layer effis:ba.fires nrt.ba.poly MapServer chiude la connessione a metà risposta, quindi arriva come guasto di trasporto
filtro date CQL_FILTER filtro locale parametro proprietario GeoServer: ignorato in silenzio

Il 403 che avevamo osservato era la risposta a una richiesta malformata, non un rifiuto di autorizzazione. Verificato in diretta: WMS GetCapabilities risponde 200 con 220 KB, e nrt.ba.poly restituisce GeoJSON senza credenziali.

bbox e filter sono mutuamente esclusivi in WFS e insieme qui chiudono la connessione, quindi il bbox va sulla rete e le date si applicano in locale. Costa poco: l'intera storia di un'AOI è una risposta sola — Basilicata, 515 perimetri dal 2012 al 2026, 305 KB.

Il backtest incendio ha ground truth vero

122 perimetri ingeriti, 946 celle intersecate. Il criterio di accettazione di #62 che era rimasto non verificabile:

stagione celle bruciate hit rate tasso di base discriminazione preavviso medio
2024 51 100 % 27.7 % 3.61× 52.2 h
2025 224 79.0 % 43.4 % 1.82× 59.0 h

Il tasso di base è nuovo, ed è il punto

Un hit rate da solo non dice nulla: un modello che dichiara pericolo alto tutti i giorni d'estate lo massimizza senza discriminare niente. Senza il metro avrei riportato «79 %» come se fosse bravura.

E va misurato sulla stagione degli incendi, non sui giorni di spin-up: quelli sono primavera, il pericolo è basso, e includerli abbassava il tasso di base del 2025 dal 43 % al 35 %, gonfiando la discriminazione da 1.82 a 2.27 senza che il modello fosse migliorato di nulla. Due test bloccano entrambe le cose.

Documentazione

Corretti i tre punti che affermavano l'accreditamento, e aggiunte due invarianti: «EFFIS è MapServer» con l'elenco di come ogni abitudine GeoServer fallisce, e «un hit rate senza tasso di base è illeggibile».

Gate

  • ruff check + ruff format --check, mypy --strict: puliti
  • pytest tests/unit: 684 passati (3 nuovi sul dialetto EFFIS)
  • pytest tests/integration/test_backtest_wildfire.py: 8 passati (2 nuovi su tasso di base e spin-up)
  • Sync EFFIS e due backtest eseguiti su dati reali

Refs #62, #66, #68

…pServer

Non serviva alcun accreditamento CEMS. `maps.effis.emergency.copernicus.eu`
è un **MapServer**, e il client gli parlava dialetto GeoServer: ogni sync
tornava a mani vuote, e la conclusione «serve l'accreditamento» è finita in
tre issue e in due documenti.

Tre errori insieme, ognuno dei quali basta a produrre silenzio:

* il path era `/gwis/ows`, che va in **timeout**; quello giusto è `/gwis`;
* il layer era `effis:ba.fires`, che non esiste. MapServer non risponde 404:
  chiude la connessione a metà risposta, quindi l'errore arrivava come
  guasto di trasporto e non come «layer sbagliato»;
* il filtro temporale era `CQL_FILTER`, parametro proprietario GeoServer che
  MapServer **ignora in silenzio**.

Il 403 che avevamo visto era una risposta a una richiesta malformata, non un
rifiuto di autorizzazione. Verificato: WMS GetCapabilities risponde 200 con
220 KB, e `nrt.ba.poly` restituisce GeoJSON senza credenziali.

`bbox` e `filter` sono mutuamente esclusivi in WFS e insieme qui chiudono la
connessione, quindi il bbox va sulla rete e le date si applicano in locale.
Costa poco: l'intera storia di un'AOI è una risposta sola — Basilicata, 515
perimetri dal 2012 al 2026, 305 KB.

## Il backtest incendio ora ha ground truth vero

122 perimetri ingeriti, 946 celle della griglia intersecate. Il criterio di
#62 che era rimasto non verificabile:

| stagione | celle bruciate | hit rate | tasso di base | discriminazione | preavviso |
|---|---|---|---|---|---|
| 2024 | 51 | 100 % | 27.7 % | 3.61× | 52.2 h |
| 2025 | 224 | 79.0 % | 43.4 % | 1.82× | 59.0 h |

**Il tasso di base è nuovo, ed è il punto.** Un hit rate da solo non dice
nulla: un modello che dichiara pericolo alto tutti i giorni d'estate lo
massimizza senza discriminare niente. Senza il metro avrei riportato «79 %»
come se fosse bravura.

Misurato sulla **stagione degli incendi**, non sui giorni di spin-up: quelli
sono primavera, il pericolo è basso, e includerli abbassava il tasso di base
del 2025 dal 43 % al 35 % gonfiando la discriminazione da 1.82 a 2.27 senza
che il modello fosse migliorato di nulla.

Aggiornati i tre punti in cui la documentazione affermava l'accreditamento,
e aggiunte due invarianti: «EFFIS è MapServer» con l'elenco di come ogni
abitudine GeoServer fallisce, e «un hit rate senza tasso di base è
illeggibile».

Refs #62, #66, #68
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant