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)
我正在使用此来源的 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)