How to adjust two maps with different extent in R

625 views Asked by At

Two maps with different extents

I am using R to process two maps (raster package). I have two maps with both WGS84 coordinates see figure. image of map

But one layer is from -180 to 180 in longitude (the map on surface) another one is from 0 to 360 (the map on the bottom).

I need to adjust the bottom layer to -180 to 180 so that they can match. How can I do that?

I think I need to find all grid greater than 180 and then minus 360. But I cannot find the longitude vector and cannot modify it from the Raster data.

Description of the map is:

class       : RasterLayer 
dimensions  : 94, 192, 18048  (nrow, ncol, ncell)
resolution  : 1.865234, 1.883872  (x, y)
extent      : 0, 358.125, -88.542, 88.542  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
data source : in memory
names       : TMAX_2015_01_01 
values      : 220.9, 324.3  (min, max)
2

There are 2 answers

2
Nahm On

spTransform(ws_soil,CRS=CRS("+proj=longlat +ellps=WGS84 +pm=+360 +datum=WGS84 +no_defs"))

You need to play with "+pm=+360" or "+pm=-360"

0
Tianyi Zhang On

Others told me a good function (raster::rotate) Simply use CLIM_NEW<-rotate (CLIM_old). That will work.