如何解决有没有办法计算和保存作为多个 netCDF 或 tif 文件的函数的新变量?
我有多个 .nc
,它们也在 .tif
文件中,我想用它们来计算基于统计模型的概率。我有 5 个文件(V1.nc
、V2.nc
、V3.nc
、V4.nc
、V5.nc
)和一个统计模型:y = 1 / (1 + exp(-(Intercept + V1 * 1.87 + V2 * 1.53 + V3 * (-4.18) + V4 * 3.58 + V5 * 9.13)))
。>
我通常使用 Qgis
、RStudio
和 Ubuntu
,我不在乎使用这些程序中的哪一个。
有没有办法让我使用这些文件来计算整体 y
?
解决方法
您可以尝试使用
将文件合二为一cdo cat V?.nc combined.nc
然后使用表达式命令创建一个新变量
intercept=2.3123 # or whatever the value is
cdo expr,'y=1 / (1 + exp(-(${intercept} + V1 * 1.87 + V2 * 1.53 - 4.18*V3 + V4 * 3.58 + V5 * 9.13)))' combined.nc newvar.nc
我假设 V1.nc 中的变量称为“V1”等,如果不相应地替换名称。
EDIT:根据注释,每个文件使用相同的变量名。因此,应该在上述之前使用 NCO 在每个文件中重命名变量,或者可以使用单独的 cdo 函数组合原始文件,如下所示:
cdo -pow,-1 -addc,1 -exp -mulc,$intercept -add -mulc,1.87 V1.nc -add -mulc,1.53 V2.nc -add -mulc,-4.18 V4.nc -add -mulc,3.58 V4.nc -mulc,9.13 V5.nc mynewvariable.nc
我已经使用管道将其放在一行上并避免使用中间文件,请仔细检查我的公式,但我希望它不包含错误。使用管道有助于从右到左阅读。
文件 mynewvariable.nc 中的变量也将称为 Band1;您可能希望使用 nco 适当地更改元数据,即使文件仅供您自己使用,也始终是一个好习惯...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。