问题标签 [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.
r - 使用 R 转换为 NetCDF 时保留栅格变量名称
获取多年月度温度数据的栅格文件,其名称可通过以下格式“Jan.1981”、“Feb.1981”等访问(使用以下names(object)
代码的两年示例文件- 添加所有文件让它太大了。
使用以下代码将其读入并将其写入 NetCDF:
当我将其写入 NetCDF 并绘制从第 1 个月到第 24 个月组织的月度数据时,但我希望它具有“1981 年 1 月”、“1981 年 2 月”等。
我认为通过在 writeRaster 中添加 zunit 参数会起作用,但事实并非如此,数字仍然是 1-24 而不是 Jan、Feb 等。
r - R 和 GIS:循环保存文件时遇到问题
相关的 NCDF 文件在这里:https ://www.ncdc.noaa.gov/paleo-search/study/19419
我有一个 NCDF 文件,并且正在使用以下循环首先将每个文件保存为 CSV 文件,然后保存为 shapefile:
但是,当我运行上面的代码时,它给了我以下错误:
我做错了什么?我不明白发生了什么,我尝试了各种代码组合和排列。是否应该通过上述代码创建文件“cru_drought_4.csv”?
以下是完整代码,供参考:
r - 从 nc 文件中提取气候数据
我正在处理一个.nc
文件。该文件可以在file size: 35 M
这里下载。我之前在 R 中没有使用过nc
或做过raster
太多工作。我根据其他问题中不同堆栈答案中的建议
探索了raster
包以及包。ncdf4
我被困在这个问题上。我不知道如何进一步进行。我遇到了@
运算符的使用,但我无法提取有意义的东西。
输入文件是从 2006 年到 2100 年的月降水量数据。我需要一个列表,其中包含从、等
每 10 年间隔的降水平均值。有人可以指导我如何做到这一点以及从哪里开始吗?2010 - 2020
2021 - 2030
r - 在带有 ncdf4 的 R 中,打开 netcdf 文件,修改并保存到磁盘
我正在尝试在 R 中修改和保存 netcdf 文件。我可以修改值,但似乎无法让文件保存并保留修改后的值。这是我正在做的事情:
使用 ncdf4 包打开文件
重新分配缺失值 - 该文件有 2000 个变量,大约一半需要修改它们的缺失值,我可以成功地做到这一点:
这是带注释的输出,显示它正在更改“_ResN”和“_StructN”的值:
最后,我同步并关闭 nc 文件,该文件应将其保存到磁盘。但这里什么也没有发生。没有错误,一切似乎都很好,除了文件没有保存。我错过了什么???
编辑:在循环中切换命令后,我能够保存要保存的文件。使用ncatt_put
与分配nc$var[[i]]$missval=...
似乎可以解决问题。我还意识到我一开始就编辑了错误的值,因为我需要_Fillvalue
更改,而不是missval
. 这现在有效:
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
我尝试使用transNcdfSubset
from ncdf.tools
package 但给我错误消息:
transNcdfSubset("A2018064.L3m_DAY_SST_sst_4km.nc", : 文件中的维度名称不是纬度/经度/时间。重命名!
这是我的代码:
r - 当我从 R 中的 ncdf 文件中提取值时发生错误
我写了一个函数来从 ncdf 文件中提取值,如下所示:
“lapply”函数用于提取多个站点的值。
但是,会发生错误:
UseMethod(“extract_”)中的错误:没有适用于“extract_”的方法应用于“c('RasterBrick','Raster','RasterStackBrick','BasicRaster')”类的对象
我们如何解决这样的错误?
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 .... 但这也不起作用。
r - 地理空间 NetCDF 中的错误尺寸
我想在 R 中加载以下地理空间文件:ftp://ftp.nodc.noaa.gov/pub/data.nodc/icoads/1930s/1930s/ICOADS_R3.0.0_1930-10.nc。问题是使用后续代码我只能获得一个维度,即使我应该获得三个:
我该如何解决?
感谢您的任何意见和建议。
r - 如何将一列减去数据框中的其他列
我有一个由 1000 行和 156 列组成的数据框。我试图将第一列减去接下来的 38 列,然后将第 39 列减去接下来的 38 列,依此类推,但我找不到办法。我只使用ncdf4,没有别的。像这样的东西
我希望它是
逻辑将是前 38 列 - 第一列
专栏 39:77 - 专栏 39
等等。
r - 从不规则间距 x 和 y 的 ncdf 创建光栅砖
我对将 R 用于 GIS 目的相当陌生。我有一个 netcdf 文件,其中包含多个具有多个维度(x、y、z、值和时间)的变量。我试图把它变成一个光栅砖。数据非常大,所以我需要从指定的时间窗口和 z(depth) 中提取数据。这不是问题,并使用以下代码提取具有适当尺寸的数组。
我的数据示例(删除深度/z 和时间维度)
从 ncdf 中提取的纬度和经度是不规则间隔的,并且每个维度都是二维的(即每个单元格的不规则间隔 lat 和 lon)
通常我会使用这个数据生成一个光栅砖
然而,这并不能解释不规则的间距,并且栅格像元值位于错误的位置(经度、纬度)。我搜索了堆栈溢出和其他 gis 帮助资源,但找不到类似的解决方案问题,或者我没有问正确的问题。我不太确定该怎么做。不确定在从 netcdf 提取数据时是否应该处理这个问题,或者是否应该在创建没有定义范围的光栅砖之后处理这个问题。我试图找到一种方法来定义栅格的经纬度,但没有任何运气。尝试将 lon、lat 和 value 转换为 3 列数据框,然后使用 raster::rasterFromXYZ 函数。对于我正在处理的数据的大小,这不会足够快,
任何帮助是极大的赞赏