background

PortLab

CMS per la generazione di portali web dedicati a progetti di ricerca

Interpolazione

Quando una serie nasce da dati (punti sparsi o griglie) anziché da una formula, func3d la rende campionabile con un metodo di interpolazione, scelto nel dataset (method) e regolabile dai parametri. Qui i metodi disponibili, i loro limiti, e un confronto con quelli offerti da GRASS GIS.

Metodi disponibili

MetodoIdeaParametriQuando usarlo
nearest il valore del punto dati più vicino (query esatta, non approssimata) dati categorici o a celle; per vedere la struttura "a mosaico" (Voronoi) del campionamento
idw media pesata con pesi 1/dp sui k vicini più prossimi potenza p, numero di vicini k metodo robusto di uso generale; p alto = superficie più "a isole" attorno ai punti
bilinear interpolazione bilineare nella cella di una griglia regolare dati già su griglia (raster, output di modelli); esatto sui nodi, continuo ovunque
rbf funzioni di base radiali di tipo thin‑plate spline, con regolarizzazione diagonale e termine polinomiale di primo grado (piastra sottile vincolata ai punti) regolarizzazione (smoothing) superfici lisce da punti sparsi; il termine polinomiale garantisce la riproduzione esatta dei trend lineari, la regolarizzazione evita oscillazioni con dati rumorosi

Proprietà comuni: le query spaziali (nearest e k‑NN dell'IDW) sono esatte, non euristiche; l'interpolazione avviene in coordinate dati e il risultato resta in z grezzo (le scale visive non toccano i valori).

Confrontare i metodi: nella card della serie, il selettore Al cambio di metodo decide se il nuovo interpolante aggiorna la serie corrente (default) o viene aggiunto come nuova serie, lasciando intatta l'originale. Nel secondo caso ogni cambio di metodo produce un layer in più (nominato col metodo usato), pronto per il confronto visivo, la sezione 2D multi‑serie o la Differenza (A − B) del pannello Analisi.

Confronto con GRASS GIS

Per orientarsi: i moduli di interpolazione più usati in GRASS e il loro equivalente (o assenza) in func3d.

Modulo GRASSMetodoIn func3d
v.surf.idw, r.surf.idw inverse distance weighting sì (idw, con k vicini e potenza regolabili)
r.resamp.interp nearest / bilineare / bicubica / Lanczos su griglie sì, tutti (nearest, bilineare, bicubica, Lanczos)
v.surf.rst, r.fillnulls regularized spline with tension (RST, Mitášová–Mitáš) sì (rst, con tensione e smoothing; il parente senza tensione resta rbf thin‑plate spline)
v.surf.bspline B‑spline bilineari/bicubiche con regolarizzazione di Tykhonov sì (bspline: LSQ bicubica + Tykhonov sulle differenze seconde)
v.krige kriging ordinario (via R) sì (krige: kriging ordinario locale, variogramma esponenziale auto‑fittato con nugget/sill/range sovrascrivibili)
addon r.surf.nnbathy natural neighbor (Sibson) sì (natural, Sibson esatto via Delaunay)

I metodi nati da questo confronto

I tre candidati individuati qui sotto sono stati poi implementati e oggi sono selezionabili nella card della serie (il calcolo gira nel browser):

Nel secondo giro sono arrivati anche Lanczos (griglia uniforme, sinc finestrata 6×6, esatta nei nodi), B‑spline con smoothing (fit ai minimi quadrati su una rete di controllo bicubica + regolarizzazione di Tykhonov sulle differenze seconde: costanti e piani non penalizzati, il λ governa la lisciatura dei dati rumorosi) e il kriging ordinario locale (variogramma esponenziale fittato in automatico sul variogramma empirico; nugget, sill e range si possono imporre a mano — per la geostatistica seria, con varianza di stima e validazione, restano preferibili R/GRASS a monte). La tabella qui sopra è ora tutta a "sì".

La scelta dei punti base (RBF e RST)

RBF e RST risolvono un sistema denso M×M, dove M è il numero di punti base: con N punti di misura non si può prendere M = N, e il parametro Max punti base mette il tetto. Storicamente la selezione era «uno ogni k» nell'ordine dell'array — una scelta che dipende da come i dati sono stati raccolti, per transetti o per campagne successive, e che su dati a grappoli lascia zone senza alcuna base: lì l'interpolazione non ha appoggio e inventa.

Ora il metodo si scegle nella card:

MetodoChe cosa faQuando serve
uno ogni k (ordine dei dati) prende un punto ogni k nell'ordine in cui stanno nel file comportamento storico, resta il predefinito: cambiare in silenzio i risultati di chi ha già tarato un grafico sarebbe peggio che lasciargli scegliere
copertura massima (FPS) farthest point sampling: a ogni passo aggiunge il punto più lontano da quelli già scelti, minimizzando il raggio di copertura dati a grappoli o per transetti, dove conta che nessuna zona resti senza base; è deterministico
copertura casuale (k‑means++) estrazione pesata su D² (la distanza al più vicino già scelto): copre bene ma senza inseguire sempre il massimo, quindi è meno sensibile ai punti isolati quando un singolo outlier lontanissimo attirerebbe FPS; il seme rende la scelta riproducibile

I due metodi geometrici stanno in js/local/func3d/campionamento.js, libreria a sé con collaudo headless: il criterio di giudizio è il raggio di copertura (la massima distanza fra un punto qualsiasi e la base più vicina), che è esattamente quello che conta per una base radiale. Su una griglia 20×20 con 25 basi FPS arriva vicino al raggio teorico della griglia regolare, mentre «uno ogni k» resta molto sopra; su dati a grappoli il distacco è netto.

Interpolare una seconda grandezza

Quando il colore viene da una colonna diversa dalla quota (vedi dimensioni extra in Funzioni e serie dati) quella colonna va interpolata come la quota: stesso metodo, stessi parametri, stessa griglia. Il modo in cui è realizzato vale la pena di dirlo, perché è una scelta di manutenzione: non esiste una seconda macchina di interpolazione per i campi tematici, ma un dataset sintetico identico all'originale con la colonna scelta al posto di z, che passa per gli stessi undici metodi. Così non ci sono due strade da tenere allineate, e un metodo aggiunto domani vale subito anche per la tematizzazione. Il dataset sintetico è nascosto: non compare fra le funzioni scegliibili.

Esclusi e perché

Nota: per l'analisi geostatistica vera e propria (kriging con variografia, validazione incrociata, dati georiferiti) restano preferibili gli strumenti GIS dedicati; func3d punta all'esplorazione visuale interattiva.

Keywords: interpolazione, nearest, IDW, bilineare, RBF, thin plate spline, GRASS GIS, kriging

Moreno Comelli, CNR-IFAC, 2022-2026