R子设置netcdf文件

R sub-setting netcdf file

我正在使用此来源的 2018 年 lulc 封面数据

https://cds.climate.copernicus.eu/cdsapp#!/dataset/satellite-land-cover?tab=form

数据格式为 netcdf,显示每个纬度的土地覆盖分类。为了从此 netcdf 读取和创建栅格,我这样做了:

library(ncdf4)
temp <- nc_open(file.name)
lon <- ncvar_get(temp, "lon")
lat <- ncvar_get(temp, "lat")
lccs <- ncvar_get(temp, "lccs_class", signedbyte = FALSE)

但是,netcdf 文件太大,读取文件需要很长时间。我只需要 lat lon 的一个子集,其边界框定义如下:

min lat: 8.125
max lat: 37.125
min lon: 68.125
max lon: 97.375 

如何使用这些边界框对上述 netcdf 进行子集化?

大多数情况下你可以这样做

library(raster)
b <- brick("filename.nc")
e <- extent(8.125, 37.125, 68.125, 97.375)
x <- crop(b, e)