我正在尝试将netCDF文件作为光栅读入R中。 netCDF文件描述了海洋年平均温度与经度,纬度和深度的关系。我关心的是海洋表面(即netCDF文件中的第一级),而t_an是netCDF文件中变量的名称。因此,我使用以下代码:

MyRast <- raster("Temperature.nc", level = 1, varname = "t_an")

这给了我以下警告:
Warning message:
In .getCRSfromGridMap4(atts) : cannot process these parts of the CRS: epsg_code=EPSG:4326

如您所见,netCDF文件具有CRS EPSG 4326(或WGS 84),但是创建的栅格具有以下CRS:
+proj=longlat +lon_0=0 +a=6378137 +rf=298.257232666016

有什么想法如何使用正确的CRS读取netCDF文件?

最佳答案

您需要做的就是在读取数据后设置投影:

r <- raster("Temperature.nc",  varname = "t_an")
proj4string(r)=CRS("+init=EPSG:4326")

08-24 16:31