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

How do I convert a projected netcdf file to raster for plotting in R

我有一个雷击的 netcdf 文件,其中包含 x、y 和 Lat Lon 的变量,xy 数据的坐标参考系是 albers_conical_equal_area,还有许多其他变量 false easting,假北等。与投影一致。我想将文件转换为光栅文件,并且需要填写 crs 参数。我希望栅格以投影格式显示,但不知道如何正确设置 crs 条目的格式。

这甚至可能吗(栅格只适用于经纬度数据吗?)

如果是,我如何转换 netcdf 文件中的信息以使用栅格命令中的 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 ")
)

我正在使用的文件是全美一天的雷击,我预计会导入大量这些文件,以便汇总感兴趣区域一整年的雷击,所以我想首先在这个文件上找出这个项目问题。

使用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,很多数据进来了。

您的数据位于阿尔伯斯锥形等面积内,我不得不 google 投影。这是我所做的以供将来参考。我 googled "albers_conical_equal_area proj4string" 带走了我 here。然后我抓住了proj4string。就是这样!

我愿意

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

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