如何将投影的netcdf文件转换为栅格以在R中进行绘图

时间:2019-07-01 02:04:00

标签: r netcdf r-raster map-projections

我有一个雷击的netcdf文件,其中包含x,y和Lat Lon的变量。xy数据的坐标参考系统是albers_conical_equal_area,并且还有许多其他变量,例如虚假东移,虚假北移等。跟着投影走。我想将文件转换为栅格,并且需要填写crs参数。我想以投影格式显示栅格,但不知道如何正确格式化crs条目。

这是否有可能(栅格仅适用于经纬度数据吗?)

如果是这样,我如何转换netcdf文件中的信息以与raster命令中的crs参数一起使用。

我试图从netcdf文件中获取属性,但不清楚如何使用它们。

我使用下面的代码从crs变量获取属性,但是...

grid_mapping_name <- ncatt_get(lightning, "crs", "grid_mapping_name")
standard_parallel <- ncatt_get(lightning, "crs", "standard_parallel")
longitude_of_central_meridian <- ncatt_get(lightning, "crs", 
"longitude_of_central_meridian")
latitude_of_projection_origin <- ncatt_get(lightning, "crs", 
"latitude_of_projection_origin")
false_easting <- ncatt_get(lightning, "crs", "false_easting")
false_northing <- ncatt_get(lightning, "crs", "false_northing")

我不确定如何将此信息应用于栅格命令

strikes <- raster(t(lightning.array)
        , xmn=min(x)
        , xmx=max(x)
        , ymn=min(y)
        , ymx=max(y)
        , crs=CRS("missing code here ")
)

我使用的文件是全美国的雷击一天,我预计会导入很多这样的文件,以便在整个感兴趣的区域中汇总整整一年的雷击,所以我想弄清楚该项目首先在此文件上发布。

2 个答案:

答案 0 :(得分:0)

使用proj4string

尝试CRS("+proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=37.5 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")

您要查找的是称为proj4string,它是对您的点的坐标参考系进行编码的字符串。

例如,CRS("+proj=longlat +datum=WGS84")sp包中的CRS对象,其{proj4string“ + proj = longlat + datum = WGS84” 。大量的数据是人们熟悉的long / lat CRS。

您的数据在albers圆锥形相等的区域中,我不得不用Google搜索它的投影。这是我所做的工作,以供将来参考。我用Google搜索了“ albers_conical_equal_area proj4string”,这使我here。然后我抓住了proj4string。就是这样!

答案 1 :(得分:0)

我会

library(raster)
b <- brick("file.nc")

这应该满足您的所有要求,甚至更多。