изменение экстента на карте с 0, 360, 0, 300 до -180, 180, -90, 90

#r #raster #r-raster #extent

#r #растр #r-растр #степень

Вопрос:

как я могу изменить размер файла netcdf с 0, 360, 0, 300 на -180, 180, -90, 90

Будет ли решение таким же, если исходные экстенты

0, 320, 0, 384

0, 362, 0, 294

0, 720, 0, 576

0, 362, 0, 332

0, 360, 0, 256

0, 802, 0, 404

 class : RasterLayer  dimensions : 300, 360, 108000 (nrow, ncol, ncell) resolution : 1, 1 (x, y) extent : 0, 360, 0, 300 (xmin, xmax, ymin, ymax) crs : NA  source : memory names : layer  values : -1.728468, 35.60058 (min, max)  

Ответ №1:

Вы можете изменить экстент растровых данных с raster помощью пакета, подобного этому

 extent(x) lt;- c(0,1,0,1)  

или с такой terra упаковкой, как эта

 ext(x) lt;- c(0,1,0,1)  

То, что вы показываете, выглядит как номера строк и столбцов, а не координаты. Так как же вы получаете эти степени в первую очередь? Как вы читаете файлы ncdf?

Как правило, самым простым способом было бы

 library(terra) x lt;- rast("ncdffile.nc")  

если долгота находится между 0 и 360 вместо -180 и 180, вы можете сделать

 y lt;- rotate(x)