微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

提取 NetCDF 文件的所有级别并导出为多波段栅格

如何解决提取 NetCDF 文件的所有级别并导出为多波段栅格

我正在尝试使用来自 ESA CCI (http://maps.elie.ucl.ac.be/CCI/viewer/download.php) 的土地覆盖数据转换此 .nc 文件。每年都有一个单独的 .nc 文件,每个文件包含变量 lccs_class、processed_flag、current_pixel_state、observation_count 和 change_count。

我想在 R 中打开这些文件中的每一个,并将它们导出为多波段栅格,每个变量都有一个波段(每年一个多波段栅格)。

但是,每当我尝试使用brick() 或stack() 读取这些文件时,nlayers 始终为1。如果我不使用varname 指定变量,则列出的名称文件的日期(例如2016-01 -01).

library(raster)
library(rgdal)
library(ncdf4)

# using stack
test <- stack("ESA_CCI_LC_2016_2019/C3S-LC-L4-LCCS-Map-300m-P1Y-2016-v2.1.1.nc",varname="lccs_class")
test

输出为:

class      : RasterStack 
dimensions : 64800,129600,8398080000,1  (nrow,ncol,ncell,nlayers)
resolution : 0.002777778,0.002777778  (x,y)
extent     : -180,180,-90,90  (xmin,xmax,ymin,ymax)
crs        : +proj=longlat +datum=wgs84 +no_defs 
names      : Land.cover.class.defined.in.LCCS

当每个 .nc 文件代表一年(不是时间序列数据)时,我不确定获得所需输出的最佳方法。我曾尝试在光栅砖函数中使用 levels 参数和 lvar,但没有任何运气。任何建议将不胜感激!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。