Prova rotate()
. La sua pagina di aiuto menziona anche la sua utilità con il tipo di dati si sta trattando:
ruotare un Raster * oggetto che ha coordinate x (longitudine) da 0 a 360 , in coordinate standard tra -180 e 180 gradi. La longitudine tra 0 e 360 viene spesso utilizzata nei dati dei modelli climatici globali .
Ecco un semplice esempio riproducibile per mostrare ciò che fa:
library(raster)
r <- raster(matrix(1:100, ncol=10), 0, 360, -90, 90, crs="+proj=merc")
r2 <- rotate(r)
r2
# class : RasterLayer
# dimensions : 10, 10, 100 (nrow, ncol, ncell)
# resolution : 36, 18 (x, y)
# extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax)
# coord. ref. : +proj=merc
# data source : in memory
# names : layer
# values : 1, 100 (min, max)
fonte
2014-09-08 19:37:46
1+ È davvero RTM, ma a volte il compito cognitivo è interessante. Quando la tua risposta è apparsa, stavo tenendo i pollici e l'indice in un cerchio, alternativamente aprendoli tra i pollici e poi tra gli indici, e capendo mentalmente quale tipo di rimappatura era necessario per riportare correttamente i "180" opposti. –
@BondedDust - Penso che la funzione necessaria per catturare quella rimappatura sia '((long + 180) %% 360) - 180'. La sua unica (in definitiva irrilevante) infelicità è che rimappa da 180 a -180 ... –
A destra, le operazioni modulo definiscono un anello matematico. –