r - 无法使用 R 从 NetCDF 文件中提取 chlor_a 值
问题描述
并感谢您的帮助!
我正在尝试使用 R 软件从 NetCDF 文件中获取叶绿素 a 值,但我得到的只是缺失值,NA。我想知道我是否做错了什么,或者文件是否真的缺少叶绿素 a 值。我可以使用此方法获取经度和纬度值。
我正在使用的文件来自这里https://oceandata.sci.gsfc.nasa.gov/MODIS-Aqua/Mapped/Monthly/4km/chlor_a/我尝试的任何文件都缺少值,不仅显示了剧本上。
require(rgdal)
require(maptools)
require(raster)
require(sp)
require(rorwr)
require(RNetCDF)
clorofila<- "C:\\Users\\User\\Desktop\\files\\A20172132017243.L3m_MO_CHL_chlor_a_4km.nc"
cla <- open.nc(clorofila)
print.nc(cla)
file.inq.nc(cla)
clor <- var.get.nc(cla,"chlor_a",start=c(1,1),count=c(8640,4320))
Long <- var.get.nc(cla,"lon")
Lat <- var.get.nc(cla, "lat")
使用 ncdf4 和 raster 我得到了相同的结果
require(ncdf4)
clorofila10<- "C:\\Users\\User\\Desktop\\files\\A20172132017243.L3m_MO_CHL_chlor_a_4km.nc"
nc <- nc_open(clorofila10)
val <- ncvar_get(nc, "chlor_a")
nc_close(nc)
光栅
require(raster)
clorofila10<- "C:\\Users\\User\\Desktop\\files\\A20172132017243.L3m_MO_CHL_chlor_a_4km.nc"
clacla<-raster(clorofila10)
CHL1 <- raster(clorofila10, varname="chlor_a")
names(CHL1) <- 'chlor_a'
z <- getValues(CHL1)
非常感谢你的一切!
此致
解决方案
该文件具有值。你可以看到这样的:
library(raster)
r <- raster("A20172132017243.L3m_MO_CHL_chlor_a_4km.nc", var="chlor_a")
plot(r)
cellStats(r, mean)
#[1] 0.4608675
或者像这样
freq(round(r/10))
# value count
# [1,] 0 16110852
# [2,] 1 190403
# [3,] 2 24723
# [4,] 3 6790
# [5,] 4 3064
# [6,] 5 1666
# [7,] 6 821
# [8,] 7 524
# [9,] 8 349
#[10,] 9 209
#[11,] 10 70
#[12,] NA 20985329
或者
summary(r)
推荐阅读
- kubernetes - Kubernetes 节点 CPU 利用率
- reactjs - 如何将 React 功能组件属性的类型设置为样式化组件`styled.div`?
- scala - 有没有办法从顶级应用程序“涓涓细流”隐含到其他导入的模块?
- javascript - D3.js 手动创建发散色标?新手在这里
- regex - 如果不等于 2 个值中的任何一个,则 awk 替换列值
- python-3.x - 如何在自定义 docker 映像上使用 CeleryExecutor 运行气流
- c# - 如何配置 Kestrel 以使用定义的端口范围中的随机动态端口
- python-3.x - 收集 numpy 导致 docker build 崩溃
- javascript - 重定向 onClick + target="_blank"
- c# - 具有多个连接和分组依据的 LINQ 版本的 sql 查询