问题标签 [ncdf4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1544 浏览

r - 使用 R 转换为 NetCDF 时保留栅格变量名称

获取多年月度温度数据的栅格文件,其名称可通过以下格式“Jan.1981”、“Feb.1981”等访问(使用以下names(object)代码的两年示例文件- 添加所有文件让它太大了。

使用以下代码将其读入并将其写入 NetCDF:

当我将其写入 NetCDF 并绘制从第 1 个月到第 24 个月组织的月度数据时,但我希望它具有“1981 年 1 月”、“1981 年 2 月”等。

我认为通过在 writeRaster 中添加 zunit 参数会起作用,但事实并非如此,数字仍然是 1-24 而不是 Jan、Feb 等。

0 投票
0 回答
55 浏览

r - R 和 GIS:循环保存文件时遇到问题

相关的 NCDF 文件在这里:https ://www.ncdc.noaa.gov/paleo-search/study/19419

我有一个 NCDF 文件,并且正在使用以下循环首先将每个文件保存为 CSV 文件,然后保存为 shapefile:

但是,当我运行上面的代码时,它给了我以下错误:

我做错了什么?我不明白发生了什么,我尝试了各种代码组合和排列。是否应该通过上述代码创建文件“cru_drought_4.csv”?

以下是完整代码,供参考:

0 投票
1 回答
852 浏览

r - 从 nc 文件中提取气候数据

我正在处理一个.nc文件。该文件可以在file size: 35 M 这里下载。我之前在 R 中没有使用过nc或做过raster太多工作。我根据其他问题中不同堆栈答案中的建议
探索了raster包以及包。ncdf4

我被困在这个问题上。我不知道如何进一步进行。我遇到了@运算符的使用,但我无法提取有意义的东西。

输入文件是从 2006 年到 2100 年的月降水量数据。我需要一个列表,其中包含从、等
每 10 年间隔的降水平均值。有人可以指导我如何做到这一点以及从哪里开始吗?2010 - 20202021 - 2030

0 投票
1 回答
1693 浏览

r - 在带有 ncdf4 的 R 中,打开 netcdf 文件,修改并保存到磁盘

我正在尝试在 R 中修改和保存 netcdf 文件。我可以修改值,但似乎无法让文件保存并保留修改后的值。这是我正在做的事情:

使用 ncdf4 包打开文件

重新分配缺失值 - 该文件有 2000 个变量,大约一半需要修改它们的缺失值,我可以成功地做到这一点:

这是带注释的输出,显示它正在更改“_ResN”和“_StructN”的值:

最后,我同步并关闭 nc 文件,该文件应将其保存到磁盘。但这里什么也没有发生。没有错误,一切似乎都很好,除了文件没有保存。我错过了什么???

编辑:在循环中切换命令后,我能够保存要保存的文件。使用ncatt_put与分配nc$var[[i]]$missval=...似乎可以解决问题。我还意识到我一开始就编辑了错误的值,因为我需要_Fillvalue更改,而不是missval. 这现在有效:

0 投票
0 回答
189 浏览

r - 基于经度/纬度的 MODIS L3SMI ncdf 子集

我有 ncdf 格式的时间序列 Global MODIS L3SMI 数据集,如何根据经度/纬度范围在特定位置(即印度尼西亚地区)对该数据集进行子集化。然后我想将此数据集写入与原始数据集相同的 ncdf 文件,而不更改 ncdf 结构上的任何内容(即维度和变量名称)

可以从此链接下载示例数据集https://oceandata.sci.gsfc.nasa.gov/cgi/getfile/A2018064.L3m_DAY_SST_sst_4km.nc

我尝试使用transNcdfSubsetfrom ncdf.toolspackage 但给我错误消息:

transNcdfSubset("A2018064.L3m_DAY_SST_sst_4km.nc", : 文件中的维度名称不是纬度/经度/时间。重命名!

这是我的代码:

0 投票
1 回答
85 浏览

r - 当我从 R 中的 ncdf 文件中提取值时发生错误

我写了一个函数来从 ncdf 文件中提取值,如下所示:

“lapply”函数用于提取多个站点的值。

但是,会发生错误:

UseMethod(“extract_”)中的错误:没有适用于“extract_”的方法应用于“c('RasterBrick','Raster','RasterStackBrick','BasicRaster')”类的对象

我们如何解决这样的错误?

0 投票
2 回答
632 浏览

r - 从需要使用 R 进行身份验证的 OpenDap 服务器获取数据

我正在尝试使用 R 和 ncdf4 包从 OPeNDAP 服务器获取数据。但是,nasa eosdis 服务器需要用户名/密码。如何使用 R 传递此信息?

这是我正在尝试做的事情:

和错误信息:

Rsx_nc4_get_vara_double 中的错误:NetCDF:授权失败语法错误,意外的 WORD_WORD,期望 SCAN_ATTR 或 SCAN_DATASET 或 SCAN_ERROR 上下文:HTTP ^ 基本:访问被拒绝。Var: nlat Ndims: 1
Start: 0 Count: 400 Error in ncvar_get_inner(d$dimvarid$group_id, d$dimvarid$id, default_missval_ncdf4(), : C function R_nc4_get_vara_double 返回错误

我尝试了网址https://username:password@disc2 .... 但这也不起作用。

0 投票
1 回答
49 浏览

r - 地理空间 NetCDF 中的错误尺寸

我想在 R 中加载以下地理空间文件:ftp://ftp.nodc.noaa.gov/pub/data.nodc/icoads/1930s/1930s/ICOADS_R3.0.0_1930-10.nc。问题是使用后续代码我只能获得一个维度,即使我应该获得三个:

我该如何解决?

感谢您的任何意见和建议。

0 投票
4 回答
64 浏览

r - 如何将一列减去数据框中的其他列

我有一个由 1000 行和 156 列组成的数据框。我试图将第一列减去接下来的 38 列,然后将第 39 列减去接下来的 38 列,依此类推,但我找不到办法。我只使用ncdf4,没有别的。像这样的东西

我希望它是

逻辑将是前 38 列 - 第一列

专栏 39:77 - 专栏 39

等等。

0 投票
1 回答
210 浏览

r - 从不规则间距 x 和 y 的 ncdf 创建光栅砖

我对将 R 用于 GIS 目的相当陌生。我有一个 netcdf 文件,其中包含多个具有多个维度(x、y、z、值和时间)的变量。我试图把它变成一个光栅砖。数据非常大,所以我需要从指定的时间窗口和 z(depth) 中提取数据。这不是问题,并使用以下代码提取具有适当尺寸的数组。

我的数据示例(删除深度/z 和时间维度)

从 ncdf 中提取的纬度和经度是不规则间隔的,并且每个维度都是二维的(即每个单元格的不规则间隔 lat 和 lon)

通常我会使用这个数据生成一个光栅砖

然而,这并不能解释不规则的间距,并且栅格像元值位于错误的位置(经度、纬度)。我搜索了堆栈溢出和其他 gis 帮助资源,但找不到类似的解决方案问题,或者我没有问正确的问题。我不太确定该怎么做。不确定在从 netcdf 提取数据时是否应该处理这个问题,或者是否应该在创建没有定义范围的光栅砖之后处理这个问题。我试图找到一种方法来定义栅格的经纬度,但没有任何运气。尝试将 lon、lat 和 value 转换为 3 列数据框,然后使用 raster::rasterFromXYZ 函数。对于我正在处理的数据的大小,这不会足够快,

任何帮助是极大的赞赏