Algoritmo del punto di campionamento del profilo di elevazione


10

Nel generare un profilo di elevazione, devono essere prelevati campioni dal raster sottostante. Se l'obiettivo è creare un profilo di massima qualità, come dovrebbero essere determinate le posizioni dei punti campione? Quale approccio dovrebbe essere adottato per l'interpolazione di questi punti campione?

Risposte:


6

Se si desidera creare un profilo di massima qualità , l'algoritmo deve includere sostanzialmente ogni singola cella intersecata dal percorso della query e quindi diventa un semplice problema di adattamento della curva 2D . Tuttavia, se vuoi semplicemente campionare un sottoinsieme di quei punti e creare un profilo che sia visivamente più piacevole, potresti scoprire che questo documento dal geocomputazione ha molte tecniche di interpolazione diverse per campionare l'elevazione e la matematica dietro di essa.


7

Un profilo altimetrico calcola l'intersezione di due superfici . Uno di questi è un foglio verticale determinato da un percorso. (Cioè, è costituito da tutte le coordinate (x, y, z) in cui (x, y) si trova sul percorso e z è un numero qualsiasi.) L'altra è la superficie rappresentata dal DEM raster. Come tale, equivale a trovare i valori z che si trovano sopra i punti sulla curva. Ciò lo rende identico al problema dell'interpolazione dei valori dal raster. In particolare, anche se condivide molte caratteristiche del semplice problema unidimensionale di montare una curva (distanza, elevazione), i dati, è nonla stessa situazione. Visualizzarlo come tale probabilmente produrrà profili di elevazione non ottimali perché non avrete sfruttato le informazioni nella misura 2D completa dei dati raster su entrambi i lati della curva.

Evidentemente, tutte le considerazioni che si attaccano alle superfici di interpolazione sono rilevanti qui . Esistono molti metodi concorrenti, ciascuno con vantaggi e svantaggi, ognuno adatto a usi diversi e ciascuno con la propria "qualità". Includono (ma non sono limitati a):

Questi sono tutti algoritmi per stimare un valore z (x, y) dai dati, data una posizione arbitraria (x, y) che non è necessariamente coincidente con nessun punto dati. Ecco come viene disegnato un set di dati raster : per determinare il colore di un determinato pixel (u, v) sullo schermo o sulla carta (la mappa), vengono calcolate le coordinate del mondo (x, y) del pixel, il valore z (x, y) viene calcolato usando l'interpolatore e quel valore viene convertito in un colore usando una rampa o una tabella di ricerca. (Per motivi di efficienza, sospetto che molti GIS non eseguano questa procedura su ogni pixel: prendono invece un sottocampione regolare dei pixel, ne individuano i colori e quindi eseguono una semplice interpolazione del colore sullo schermo o sulla carta.)

Possiamo pensare ai pixel come a determinare un campione regolare di posizioni planari per l'interpolazione. La creazione di un profilo altimetrico implica una considerazione simile: dove individuare i "pixel" lungo il percorso? La risposta è sviluppata nello stesso modo in cui risponderemo alla domanda corrispondente per la creazione di mappe: di quale scala hai bisogno? A grandi scale (ingrandita) è necessario un campionamento molto più vicino; a piccole scale è possibile campionare con una spaziatura maggiore. Se sei intelligente, puoi persino usare metodi adattivi o ricorsivi per focalizzare il campionamento su dove i valori z variano più rapidamente, hanno la curvatura più grande o raggiungono valori estremi. Se non sei intelligente, o non hai bisogno della migliore rappresentazione, puoi creare un insieme di valori equidistanti lungo il percorso a distanze d (0) <d (1) <... <d (n) lungo il percorso e, dai valori raster vicini, interpolare le quote corrispondenti z (0), z (1), ..., z (n). Quindi tracciare le coppie (d (0), z (0)), ..., (d (n), z (n)) e giusto in una sorta di curva attorno a loro - di solito una spline - supponendo che le variazioni z (i + 1) - z (i) siano sufficientemente piccole da non interessare come si adatta la curva. (I metodi adattativi ispezionano queste variazioni e ottengono valori più interpolati a distanze intermedie dove sembra che vi sia una grande variazione.)

Questo ci porta al cuore della domanda: quali dovrebbero essere le distanze iniziali del campione? La risposta dipende dalla scala prevista del profilo altimetrico, dall'accuratezza dei valori del DEM, dall'accuratezza con cui la curva è registrata nelle posizioni DEM e dal tasso di variazione delle elevazioni lungo e vicino al profilo. In generale, scale più grandi (cioè ingrandimento), migliori precisioni in elevazione e georeferenziazione e tassi di variazione più elevati richiedono spaziature più vicine. Poiché questi interagiscono in modi complessi, non esiste una regola generale per la migliore spaziatura . All'inizio, però, puoi aspettarti che qualsiasi spaziatura più fine della dimensione della cella raster non ti comprerà molto. Così,se puoi permetterti di calcolare il profilo di elevazione usando questa spaziatura relativamente stretta, potresti anche andare avanti e farlo . Potrebbe essere eccessivo, ma che importa?

Si noti che tali metodi nella migliore delle ipotesi riprodurranno accuratamente i valori di elevazione interpolati . Si tratta quasi sempre di una versione degradata delle elevazioni rappresentate dal raster. Ad esempio, molti DEM nelle aree montuose non raggiungono le altezze dei picchi, perché i picchi di solito cadono tra le celle raster. Quando si interpola tra le elevazioni del sub-picco, di solito si ottiene una sorta di media ponderata, che sarà comunque inferiore all'altezza del picco. Pertanto, il profilo di elevazione di un percorso che passa esattamente sopra un picco di montagna raramente raggiungerà l'altezza di picco. (Convoluzione cubica e alcune forme di kriging (compresa la simulazione stocastica con kriging) può superare forme lievi di questo problema. Guardali se vuoi riprodurre le caratteristiche statistiche del profilo altimetrico piuttosto che accontentarti di un "adattamento ottimale" che fa la media degli estremi.


grazie whuber. La spaziatura deve essere assolutamente fissa?
Matthew Snape,

1
@Matthew La spaziatura può essere adattata alle elevazioni e ai loro cambiamenti, come ho già detto. La qualità di altre spaziature, come spaziature casuali o spaziature arbitrarie, è difficile da valutare. Tuttavia, non è necessario utilizzare informazioni esterne per posizionare alcuni punti campione. Ad esempio, se si dispone di un livello di flussi, è possibile includere tutti i passaggi di flusso nei punti per assicurarsi di campionare i minimi locali dell'elevazione lungo il percorso. Per certi scopi specializzati EQUAL- elevazione spaziature funzionano bene.
whuber

Ma in alcuni punti la linea del profilo passerà attraverso diverse celle a breve distanza. In altri, la linea del profilo passerà di meno (se si viaggia con l'asse). Sicuramente un intervallo fisso non spiegherà questo?
Matthew Snape,

@Matt Il punto è che il semplice passaggio attraverso le celle non è rilevante. Qualsiasi procedura di interpolazione spaziale può fornire una stima dell'elevazione in infiniti punti sul percorso. Ciò riduce il problema di una dimensione: l'interpolatore fornisce l'elevazione in funzione della distanza (è possibile rappresentare graficamente in coordinate cartesiane) e il problema è quello di campionare quel grafico. In altre parole, una volta che hai scelto un interpolatore, potresti anche chiedere "Ho una funzione y = f (x). Come posso rappresentarlo al meglio?" Il mio consiglio è (a) scegliere un buon interpolatore e (b) rappresentare bene il grafico!
whuber
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.