Vai al contenuto
megapromotingParliamone

Competenza · Dati geospaziali

Strati di osservazione della Terra sopra un territorio, ognuno con la fonte, l’ora di lettura e il limite scritti accanto.

Costruiamo la mappa operativa di un territorio da fonti pubbliche di osservazione della Terra — Copernicus, OpenStreetMap, cataloghi orbitali, ortofoto governative — e colleghiamo a ogni strato la provenienza, il momento dell’ultima lettura riuscita e ciò che non può mostrare. Le misurazioni vengono pubblicate insieme al metodo che le ha prodotte.

Già costruitoTre implementazioni proprie, che si possono aprire oggi dall’esterno. FlowMind gira su un VM proprio e ha 109 route API, di cui nove parlano direttamente con Copernicus Data Space Ecosystem (`src/app/api/copernicus/`, verificato contando su disco). Relieva risponde 200 e richiede l’immagine Sentinel live a ogni caricamento della pagina (680.122 byte, verificato con curl il 06.09.2026). Orbital Nexus è pubblico su `https://www.megapromoting.com/satelit/` e propaga localmente un catalogo di circa 11.900 oggetti. La riserva che va detta fin dalla prima frase: non possediamo alcun satellite né alcun sensore. Copernicus è un programma pubblico dell’Unione Europea, e il catalogo orbitale viene da CelesTrak, che ridistribuisce dati mantenuti dalla US Space Force. Ciò che abbiamo costruito noi è lo strato sopra.

Un territorio — una città, un distretto, una zona di infrastruttura — può essere letto da dati che esistono già pubblicamente: immagini satellitari, geometria stradale, modelli del terreno, ortofoto catastale, cataloghi orbitali. Questo servizio li riunisce in una sola mappa operativa e, cosa ancora più importante, tiene traccia di che cosa significa ogni livello: quale sensore lo ha prodotto, a quale risoluzione, con quale frequenza si rinnova e quando è stato letto l’ultima volta con successo.

Va detto con chiarezza, perché è facile fraintenderlo e perché è un’affermazione che alcuni fanno senza diritto: **Copernicus non è nostro.** È il programma di osservazione della Terra dell’Unione europea, con i suoi satelliti, i suoi sensori e il suo archivio. Noi ci autentichiamo a Copernicus Data Space Ecosystem con credenziali proprie di tipo `client_credentials` e richiediamo prodotti elaborati tramite API. La risoluzione, la frequenza di rivisitazione, la copertura nuvolosa e la qualità radiometrica appartengono alla missione, non a noi. Lo stesso vale per il catalogo orbitale: proviene da CelesTrak, con attribuzione visualizzata, perché la loro politica lo richiede. Ciò che gestiamo noi sono l’autenticazione, la richiesta corretta, il calcolo, il rendering, il guardiano di provenienza e l’interpretazione.

La regola dei contenuti è la stessa ovunque: una cifra si pubblica insieme al metodo che l’ha prodotta. La pendenza di una strada significa una cosa se è stata calcolata con il nucleo Horn 3×3 su un raster di 25 m, e tutt’altra se è stata letta da due punti distanti 30 m. L’altezza di un edificio significa una cosa se è dichiarata in OpenStreetMap, e un’altra se è stimata dal numero di piani. Mescolare le due categorie sotto lo stesso colore è il modo più frequente per consegnare una mappa che sembra buona e mente.

Quando una fonte non risponde, il livello viene marcato OFFLINE, con il motivo, e non viene riempito con un valore plausibile. In FlowMind la regola ha un guardiano automatico, `noFakeLive`, che rifiuta di etichettare un livello come LIVE senza la prova di una lettura riuscita. Un pixel vuoto significa «qui non abbiamo osservato», non «qui non c’è nulla».

Cosa comprende

Il lavoro, per componenti

La domanda sceglie il sensore, non il contrario

La prima fase non è tecnica. «Dove si degrada la vegetazione», «dove può salire un veicolo su ruote», «dove è cambiata la superficie tra due date» e «che cosa succede di notte o sotto le nuvole» richiedono strumenti diversi. Ottico multispettrale a 10 m per vegetazione e acqua, radar C per condizioni in cui l’ottico non vede, banda termica all’ordine dei chilometri per il contrasto di superficie, modello del terreno per la pendenza. Un sensore scelto male produce un risultato che sembra corretto e non lo è.

Richiediamo il prodotto elaborato, sull’area e nell’intervallo di tempo richiesti

Non scarichiamo scene intere per ritagliarle localmente. La richiesta a Copernicus contiene l’area geografica, l’intervallo di tempo e uno script di valutazione che indica esattamente quale banda entra e quale esce come pixel. In FlowMind, le richieste Sentinel-2 vanno sulla collezione `sentinel-2-l2a` all’endpoint `https://sh.dataspace.copernicus.eu/api/v1/process`; Sentinel-1 su `sentinel-1-grd`, Sentinel-5P su `sentinel-5p-l2`. NDVI si calcola da B08 e B04, NDWI da B03 e B08 — nell’evalscript, alla fonte, non da un’immagine già compressa.

Pubbliciamo la cifra con il metodo incollato ad essa

Ogni blocco di risultato porta un marchio di provenienza. In Relieva sono tre: misurato, da fonti e proposto. Sotto la mappa di pendenza c’è scritto letteralmente «COP-DEM GLO-30 · UTM 35N 25 m · Horn 3×3», e sotto la scena di rilievo c’è l’esagerazione verticale ×3,5, proprio perché il rilievo esagerato è bello e ingannevole. Un acquirente che vuole verificare una cifra deve poter rifare il percorso fino ad essa.

Maschera nuvole, non rimozione delle nuvole

Le richieste Sentinel-2 respingono fin dall’inizio le scene con oltre il 40% di copertura nuvolosa (`MAX_CLOUD_COVERAGE = 40`). Nell’evalscript, i pixel che la banda di classificazione della scena SCL marca come nuvola, ombra di nuvola, cirro o neve — le classi 3, 8, 9, 10 e 11 — vengono restituiti completamente trasparenti. L’alternativa comoda, riempire il buco da una scena più vecchia, produce un’immagine continua che mescola due momenti. Preferiamo il buco, perché può essere letto correttamente.

Radar quando l’ottica non può

Sentinel-1 C-SAR attraversa le nuvole e lavora di notte, a 10 m, con una rivisitazione dell’ordine di 6–12 giorni. Nei nostri prodotti si usa il rapporto tra le polarizzazioni VV e VH, come screening su una singola scena: mostra differenze di superficie e di umidità. Non è interferometria. Gli spostamenti millimetrici del terreno richiedono coppie ascendente/discendente, file di orbita, un modello del terreno e una fase di srotolamento della fase — un lavoro separato, contrassegnato come tale nel nostro catalogo prodotti, non qualcosa che forniamo da una richiesta di tile.

Il modello di superficie non è il modello del terreno — la trappola che non dà alcun errore

Copernicus DEM GLO-30 è un modello digitale di superficie: in un isolato denso restituisce la quota del tetto, non della carreggiata. Nulla segnala il problema; solo le cifre risultano sbagliate. Per questo la geometria che deve stare sul suolo viene appoggiata su una superficie filtrata, e la pendenza si misura su una base lunga — sotto circa 60 m tra i punti si misura il rumore del raster, non il terreno. La regola complementare è altrettanto importante: se le statistiche pubblicate sono state calcolate sul modello grezzo, restano sul modello grezzo e la pagina lo dice. Mescolare le due basi in un solo insieme di cifre le rende incoerenti.

La geometria della città da OpenStreetMap, con la provenienza delle altezze tenuta separata

Le impronte degli edifici e la rete stradale provengono da OpenStreetMap, con la data dell’istantanea indicata. Nella scena 3D del centro di Chișinău, su 9.506 impronte solo 1.128 hanno l’altezza dichiarata in OSM; le restanti 8.378 sono stimate dal numero di piani moltiplicato per 3,2 m. Le due categorie sono colorate in modo diverso nella scena. Ogni edificio poggia sulla quota del terreno sottostante, non su una lastra piatta — per questo i blocchi salgono verso il parco della cattedrale invece di sembrare allineati.

Posizioni orbitali calcolate localmente, con l’età dei dati visibile

I punti sul globo non sono posizioni trasmesse dai satelliti. Sono posizioni calcolate: si parte da elementi orbitali validi in un momento del passato e si propaga con il modello SGP4 fino all’ora corrente. L’errore cresce con ogni giorno trascorso dall’ultimo aggiornamento, e l’app lo mostra in chilometri per l’oggetto selezionato. In FlowMind, l’età degli elementi è etichettata esplicitamente fresh / stale / expired. Il calcolo gira su un thread separato, così l’interfaccia non si blocca.

Sfondo cartografico senza chiavi a pagamento

La scena 3D drappeggia l’ortofoto governativa da `geodata.gov.md` (WMS, Agenzia per le Relazioni Fondiarie e il Catasto) su un modello del terreno da tasselli pubblici su AWS Open Data, renderizzato con MapLibre GL. Senza chiavi API e senza costi per visualizzazione. Lo sfondo è orientamento visivo; i prodotti Copernicus restano livelli separati, ciascuno con il proprio satellite, sensore, risoluzione e le proprie limitazioni.

Come si presenta

Il percorso, passo dopo passo.

01

Delimitiamo il territorio e scriviamo la domanda a cui la mappa deve rispondere

Una casella geografica, un breve elenco di domande operative e, per ciascuna, il verdetto sull’esistenza di una fonte pubblica in grado di rispondere. Consegniamo l’inventario delle fonti con la risoluzione, la cadenza e il limite di ciascuna — incluse le righe in cui compare «non esiste una fonte pubblica per questo». Quelle righe sono la parte più utile dell’inventario.

02

Colleghiamo le fonti e mettiamo il guardiano prima del primo strato bello

L’autenticazione, le route del server, la cache e — obbligatoriamente in questo ordine — la regola che vieta di marcare uno strato come LIVE senza la prova di una lettura riuscita. Il guardiano si scrive prima degli strati, perché dopo nessuno lo aggiunge più. Consegniamo route funzionanti e un rapporto di salute delle fonti interrogabile.

03

Misuriamo una volta, per intero, con il metodo scritto accanto al risultato

Riproiezione, calcolo, soglie scelte su criteri espliciti — non estetici. Nella mappa delle pendenze di Chișinău le soglie sono 8,33%, cioè la rampa di accessibilità 1:12, e 12%, oltre la quale i robot da marciapiede classificati al 10–15% non salgono più. Consegniamo i numeri, gli script che li rigenerano dalla fonte e una pagina che marca ogni blocco come misurato, da fonti o proposto.

04

Consegniamo con i limiti in primo piano, non in fondo

Ciò che la mappa non può mostrare, a quale intervallo invecchia ogni strato, cosa succede se una fonte pubblica cambia le condizioni o scompare, e cosa richiederebbe il passaggio dallo screening alla misurazione fine. Consegniamo la procedura di aggiornamento e l’elenco delle dipendenze esterne con il loro punto di rottura.

STRATO SULLA MAPPALo stesso territorio, letto su strati separati.
Gli strati sullo stesso territorio, uno sopra l’altro: il modello del terreno alla base, la geometria stradale e le impronte degli edifici sopra, l’immagine ottica e radar come strati separati — ciascuno con la propria etichetta di risoluzione, cadenza e momento dell’ultima lettura riuscita.

I dati

Cosa tocchiamo, dove risiedono e quanto rimangono

Le domande che pone chiunque abbia un responsabile della protezione dei dati — poste qui prima che le ponga lui.

Che tipo di dati tocca il lavoro
Di norma, dati sul territorio, non sulle persone: riflettanza multispettrale, retrodiffusione radar, quote del terreno, geometria stradale, impronte degli edifici, elementi orbitali. Tutti provengono da archivi pubblici — Copernicus Data Space Ecosystem, OpenStreetMap, AWS Open Data, CelesTrak, il portale geodati dello stato.
Dove stanno le credenziali e perché non finiscono nel browser
L’accesso a Copernicus avviene con un identificatore e un client secret, tramite il flusso OAuth2 `client_credentials` a `identity.dataspace.copernicus.eu`. La richiesta del token parte solo dal server, con timeout a 10 secondi e con il token rinfrescato 60 secondi prima della reale scadenza. Il browser non vede mai il secret; chiede una nostra route, e la route interroga Copernicus. Senza credenziali configurate, la route restituisce 503 e il resto della pagina funziona.
Cosa conserviamo presso di noi
Le immagini raster vengono conservate in una cache di processo, con intestazioni che indicano quale prodotto e quale risoluzione sono stati restituiti. I cataloghi grandi vengono caricati dopo che la mappa è già sullo schermo e vengono mantenuti localmente, con termine: la scheda oggetto del catalogo orbitale, di quasi 7 MB, resta nella memoria locale del browser per un giorno. Le misurazioni derivate — pendenza, isolinee, profilo altimetrico — vengono rigenerate dalla sorgente tramite script, non si modificano manualmente.
L'attribuzione non è opzionale
Le fonti pubbliche arrivano con condizioni. La politica CelesTrak richiede l'attribuzione e vieta la ridistribuzione in massa del catalogo; per questo il pannello delle fonti nell'interfaccia è un requisito, non una decorazione. Copernicus e OpenStreetMap hanno proprie condizioni di utilizzo e di attribuzione. In una consegna, la verifica di queste condizioni si fa all'inizio, non al rilascio.
Quando compaiono comunque dati personali
Succede per un solo tipo di livello: i flussi video pubblici e le immagini riprese dalla strada. Lì il lavoro non è più soltanto geospaziale — entrano in gioco l'offuscamento dei volti e delle targhe al momento dell'acquisizione, la conservazione solo della geometria derivata e una valutazione d'impatto prima della prima telecamera. L'immagine satellitare a 10 m non ha questo problema: un pixel copre dieci metri di terreno.

Un caso

Un viale pianeggiante che misurava 13,5% di pendenza

La situazione

In un lavoro proprio di misurazione del rilievo del municipio di Chișinău, la pendenza delle strade è stata calcolata direttamente dal modello digitale pubblico a 30 m, prendendo punti consecutivi dalla geometria stradale. Il risultato appariva convincente ed era pronto per essere pubblicato.

Cosa abbiamo costruito

Alla verifica, uno dei viali centrali — praticamente piano per chiunque lo percorra — risultava con 13,5% di pendenza. La causa era silenziosa: il modello pubblico è un modello di superficie, quindi in un quartiere denso restituisce la quota del tetto. Due punti a 30 m di distanza, uno caduto su una cornice, producono una differenza di quota che non esiste sulla carreggiata. Lo stesso difetto compariva anche altrove: edifici vicini finivano su «suolo» diverso di circa 20 m, e le strade risultavano medianamente 13 m sotto gli edifici e scomparivano tra i blocchi nella scena tridimensionale, perché le strade seguono le valli, mentre gli edifici stanno sul pianoro.

Cosa è emerso

La geometria è stata spostata su una superficie di terreno approssimativa, ottenuta mediante filtraggio con una finestra più larga di un isolato, e da allora la pendenza si misura su una base lunga, non tra punti consecutivi che possono trovarsi a pochi metri l'uno dall'altro — sotto la risoluzione del raster. Le statistiche già pubblicate sono rimaste dichiaratamente sul modello grezzo, e la pagina lo dice, perché spostare alcuni dei numeri su un'altra base li avrebbe resi incoerenti tra loro.

Cosa non dice il caso

Nulla aveva dato errore. L'interfaccia di programmazione aveva risposto 200, i file si leggevano, la mappa si disegnava. Questo è il tipo di schema che ci interessa di più nei dati geospaziali: la sorgente funziona, e il risultato è sottilmente sbagliato. L'unica difesa che regge è la verifica di un valore noto — un viale che sapete essere piano.

Domande

Cosa ci chiedono le persone prima di chiamare

Avete satelliti propri?

No, nessuno, e neppure sensori. Copernicus è il programma di osservazione della Terra dell'Unione Europea — satelliti, sensori e archivio sono suoi. Il catalogo orbitale proviene da CelesTrak, che redistribuisce dati mantenuti da US Space Force. Noi ci autentichiamo con credenziali proprie, richiediamo prodotti elaborati tramite API e costruiamo ciò che segue: il calcolo, la mappa, il guardiano della provenienza, l'interpretazione. Se qualcuno vi dice che ha satelliti propri in Moldova, chiedete il numero NORAD.

Quanto spesso si aggiorna l'immagine?

Dipende dalla missione e dalle nuvole, non da noi. Ottico multispettrale a 10 m: nell'ordine di 2–5 giorni quando esiste una scena non coperta da nuvole. Radar a 10 m: circa 6–12 giorni, ma funziona di notte e attraverso le nuvole. Banda termica nell'ordine dei chilometri e prodotti atmosferici: giornalieri o multi-giornalieri. In un novembre con cielo chiuso per una settimana, il livello ottico semplicemente non ha nulla da mostrare — e allora lo scrive, non prende in prestito un'immagine più vecchia.

Che cosa significa, in pratica, 10 m di risoluzione?

Un pixel copre dieci metri sul terreno. Si vede un isolato, un lotto agricolo, una discarica, un cantiere, un cambiamento di superficie. Non si vede un'auto, una persona o una targa — ed è per questo che l'immagine satellitare di questa categoria non pone il problema dei dati personali. Per i prodotti atmosferici il pixel è dell'ordine dei chilometri: si legge una tendenza sopra una città, non una strada.

Potete darmi l'altezza esatta dei miei edifici?

Non da queste fonti. Il modello pubblico a 30 m è un modello di superficie — restituisce la quota del punto più alto di ciò che si trova lì, inclusi tetti e chiome degli alberi — ed è troppo grossolano per un singolo edificio. Quello che possiamo fare: dire su quale quota di terreno poggia ciascuna impronta e, dove OpenStreetMap dichiara l’altezza, usare il valore dichiarato, marcato separatamente dalla stima. Per altezze di precisione serve un’altra acquisizione: LiDAR o fotogrammetria con drone. Quello è un lavoro sul campo, non uno d’archivio.

Potreste rilevare frane?

Possiamo costruire uno strato di prioritizzazione, non un verdetto. Uno schermo di rischio combina pendenza dal modello di terreno, perdita di coerenza radar, variazione della superficie nell’ottico e accumulo di precipitazioni — e produce un elenco di aree da verificare. La conferma di uno spostamento reale richiede interferometria: coppie di scene ascendenti e discendenti, file di orbita, srotolamento della fase. È un lavoro separato. Nei nostri prodotti la distinzione è scritta esplicitamente accanto allo strato, così nessuno legga una prioritizzazione come una rilevazione.

Perché compaiono vuoti nella mappa?

Perché lì non è stato osservato nulla utilizzabile — di solito nube, ombra di nube, cirri o neve, filtrati dalla banda di classificazione della scena. Il vuoto è un’informazione, non un difetto. L’alternativa, riempire da un’altra data, produce un’immagine continua che mescola due momenti e che non si può usare per il confronto. La stessa logica si applica alle sorgenti cadute: il livello scrive OFFLINE e il motivo.

La posizione del satellite sulla mappa è quella reale, in tempo reale?

È una posizione calcolata, non trasmessa. Si parte da elementi orbitali pubblicati in un momento passato e si propagano fino ad ora con un modello standard. L’errore cresce con l’età degli elementi, e noi lo mostriamo in chilometri per l’oggetto selezionato e indichiamo l’età dei dati. Un oggetto con elementi vecchi di alcuni giorni può trovarsi a decine di chilometri da dove lo indica il punto — motivo per cui lo si scrive, non lo si nasconde.

Cosa succede se la fonte pubblica cambia o scompare?

È il rischio reale di questo tipo di lavoro e si gestisce a livello contrattuale, non in caso di incidente. Le fonti pubbliche cambiano formati, quote di utilizzo e condizioni. Per questo consegniamo l’elenco delle dipendenze esterne con il loro punto di rottura, teniamo il livello di accesso isolato in un solo punto del codice e segnaliamo la fonte caduta nell’interfaccia invece di lasciare che la mappa sembri funzionante. Una piattaforma che nasconde una fonte morta è più pericolosa di una che si arresta visibilmente.

I dati restano da voi o dal cliente?

I risultati derivati — mappe, cifre, livelli calcolati — sono del cliente e vengono consegnati insieme agli script che li rigenerano dalla sorgente. I dati sorgente restano dove si trovano, negli archivi pubblici, secondo le loro licenze e condizioni di attribuzione; noi non li ridistribuiamo in massa, perché alcune licenze lo vietano esattamente. Le credenziali di accesso a Copernicus possono essere del cliente, sul suo account, se vuole completa indipendenza da noi.

Su cosa si basano le affermazioni sopra (21 fonti)
  1. https://www.megapromoting.com/satelit/ risponde 200https://www.megapromoting.com/satelit/ · 2026-09-06
  2. https://relieva.vercel.app risponde 200 e serve 680.122 bytehttps://relieva.vercel.app · 2026-09-06

19 di esse sono codice e file dei nostri repository. Non ne pubblichiamo il nome né la riga: insieme, in un'unica pagina, descriverebbero con troppa precisione come sono costruiti sistemi che non sono solo nostri. Le esaminiamo con te, nel repository, su richiesta — la verifica resta possibile, solo che avviene in una discussione.

Cosa vorresti che funzionasse meglio?

Raccontaci il tuo processo. Insieme stabiliamo cosa vale la pena costruire, cosa possiamo collegare e come verifichiamo il risultato.

Parliamone