从 NetCDF 中提取数据

Posted

技术标签:

【中文标题】从 NetCDF 中提取数据【英文标题】:Extracting data from NetCDF 【发布时间】:2019-05-02 18:18:53 【问题描述】:

我已经从这里https://oceancolor.gsfc.nasa.gov/l3/下载了一月份的海面温度

并将其导入 R。

我知道如何使用 extent(ymax, ymin, xmax,xmin) 进行裁剪,但我不知道如何仅针对一个站点 (53.9S, 174,1W) 或最接近该坐标的站点进行裁剪。有没有办法只为一个站点裁剪数据?

val

SST_Jan <- brick("~https://oceandata.sci.gsfc.nasa.gov/cgi/getfile/A20021822018212.L3m_MC_SST_sst_9km.nc", stopIfNotEqualSpaced = FALSE, varname = "sst")

print(SST_Jan)

val<-extract(174.1, 53.9)

SST_Jan_station <- extract(SST_Jan, val)

我希望能够绘制 12 个月内该特定位置的 SST 变化

谢谢,

【问题讨论】:

【参考方案1】:

extract 函数不适用于数值向量。

你可以把坐标放在matrix -

pnt = matrix(c(174.1, 53.9), ncol = 2)
pnt
##       [,1] [,2]
## [1,] 174.1 53.9

然后extract 将起作用 -

extract(SST_Jan, pnt)
##      layer
## [1,]  8.24

【讨论】:

pnt = cbind(174.1, 53.9)

以上是关于从 NetCDF 中提取数据的主要内容,如果未能解决你的问题,请参考以下文章

从包含在 shapefile 边界内的 netcdf 文件中提取数据

如何从 R 中的 netCDF 文件中提取变量名?

从 R 中的 netCDF 提取点的时间序列(lon,lat)

Python - 从netCDF文件中读取数据,时间为“自测量开始以来的秒数”

Python提取netCDF数据并转换为csv文件

使用xarray从netcdf中提取最近的经纬度和时间值