Prevenzione della superficie riflettente in rasterVis


10

Ho sperimentato file modello di terreno digitali in formato griglia ESRI ASCII. Nonostante zero esperienza con questo tipo di dati, ho trovato molto facile caricare in R, come da codice sotto. Per impostazione predefinita, la plot3Dfunzione del rasterVispacchetto ha una trama piacevole, ma il modello è piuttosto riflettente. Dato che dovrebbe essere un paesaggio questa superficie lucida non è davvero appropriata.

Sto cercando una trama più naturale (se una parola del genere può essere usata per un rendering 3D di una serie di figure), opaca, trama topologica.

brillante

Immagino che ci debbano essere dei modi per aggirare questo problema, ma non ho esperienza nell'uso rastere nella ricerca di alcuni suggerimenti.

Come posso ridurre o rimuovere la riflettività della trama?

library(raster)
library(rgdal)
library(rasterVis)

foo <- raster(readGDAL("my.dtm.asc"))
plot3D(foo)

Risposte:


5

Ho fatto alcuni test e ho trovato l' ?rgl.materialargomento specular, che mi ha aiutato con il compito.

Vedi l'esempio seguente:

library(raster)
library(rasterVis)

r = raster(volcano)

plot3D(r,lit=TRUE,specular="white") #white is default
plot3D(r,lit=TRUE,specular="black") #change specular to black

inserisci qui la descrizione dell'immagine


3

Dovrai passare argomenti a plot3D che modificano le caratteristiche di visualizzazione di rgl usando gli argomenti disponibili in "rgl.material". Vorrei iniziare con "lucentezza" o "luminanza". Dovresti semplicemente specificare gli argomenti rgl.material associati direttamente in plot3D.

plot3D(foo, zfac=2, shininess=10) 

2

Sono abbastanza nuovo con r e anche il pacchetto rasterVis. Una cosa che ho trovato utile è esplorare diverse tavolozze di colori per vedere se riesci a trovarne una che si adatta meglio a ciò che stai cercando (senza dover entrare e provare a modificare i colori per adattarli esattamente a ciò che voglio). Ad esempio ho provato:

plot3D(foo, col=terrain.colors(6))

Con risultati abbastanza decenti. Puoi anche sperimentare le tavolozze dal pacchetto RColorBrewer alcune delle quali sembrano meno brillanti. per esempio:

plot3D(foo, col=brewer.pal(9, 'YlOrRd'))
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.