2016-12-19 20 views
1

Две карты с разной экстенсиейКак отрегулировать две карты с разной степенью в R

Я использую R для обработки двух карт (растровый пакет). У меня две карты с координатами WGS84, см. Рисунок. image of map

Но один слой от -180 до 180 по долготе (карта на поверхности), другая от 0 до 360 (карта внизу).

Мне нужно отрегулировать нижний слой до -180 до 180, чтобы они соответствовали друг другу. Как я могу это сделать?

Мне кажется, мне нужно найти всю сетку больше 180, а затем минус 360. Но я не могу найти вектор долготы и не могу изменить его из растровых данных.

Описание карты является:

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) 
+0

Есть ли [это сообщение] (http://stackoverflow.com/questions/5353184/fixing-maps-library-data-for-pacific-centred-0-360-longitude-display) help? – jazzurro

ответ

0

spTransform (ws_soil, СВК = CRS ("+ Рго = longlat + ellps = WGS84 + рт = + 360 + датум = WGS84 + no_defs"))

Вы должны играть с "+ рт = + 360" или "+ рт = -360"

+0

Я попытался применить карту поверхности, основываясь на ваших предложениях. Но это дает мне странную обратную связь. Степень изменения новой карты до -540 до -180 не (0, 360). Что-то не так? –

+0

просто играйте с цифрами и знак плюс и минус – Nahm

0

Другие сказали мне хорошую функцию (растровый :: Rotate) Просто используйте CLIM_NEW < -rotate (CLIM_old). Это будет работать.