我想正确绘制此netcdf文件:http://www.filedropper.com/sshgridsv16092015060412nc(最初从here: https://opendap.jpl.nasa.gov/opendap/allData/merged_alt/L4/cdr_grid/contents.html下载)
但遇到问题:
我应该能够绘制栅格(SLA变量):
library(RNetCDF)
library(raster)
library(maptools)
d <- raster("ssh_grids_v1609_2015060412.nc.nc4", varname = "SLA")
plot(d)
#plot SLA
但结果非常奇怪,因为你可以看到提供的文件。
特别是在绘制世界地图时:
data(wrld_simpl)
plot(wrld_simpl, add = T)
他们根本不匹配:/
所以我想也许问题在于经度(从4.839944e-09到360)
然后我读了那个raster :: rotate(d)
应该是完美的(经度为-180到180),但它不会让我。我收到此警告信息:
Warning message:
In .local(x, ...) :
this does not look like an appropriate object for this function
和
plot(d)
看起来仍然一样。
非常感谢任何建议!
干杯
答案 0 :(得分:1)
Netcdf文件不仅在经度上“旋转”,而且x和y也在错误的位置。它在netcdf中输入的方式显然不常见 我直接在the OpenDap server下载了netcdf,因为你的filedropper链接似乎已损坏了 无论如何,这是我的主张:
library(raster)
library(maptools)
d <- raster("ssh_grids_v1609_2015060412.nc.nc4", varname = "SLA")
# transpose x to y and double flip the map
m.r <- flip(flip(t(d), direction = "y"), direction = "x")
# then rotate from 0:360 to -180:180
rm.r <- rotate(m.r)
data(wrld_simpl)
plot(rm.r)
plot(wrld_simpl, add = T)