将地图中的范围从 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)
如何将 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)