将地图中的范围从 0、360、0、300 更改为 -180、180、-90、90

change extent in map from 0, 360, 0, 300 to -180, 180, -90, 90

如何将 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)

您可以像这样使用 raster 包更改栅格数据的范围

extent(x) <- c(0,1,0,1)

或者像这样使用 terra

ext(x) <- c(0,1,0,1)

您显示的内容看起来像行号和列号,而不是坐标。那么首先如何获得这些范围呢?您如何阅读 ncdf 文件?

一般来说,最简单的方法是

library(terra)
x <- rast("ncdffile.nc")

如果经度在 0 和 360 之间而不是 -180 和 180 之间,那么您可以这样做

y <- rotate(x)