提取 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...