0

我想从 netcdf 文件写一个二进制文件

library(ncdf)
download.file("http://gswp/Fixed/SoilDepth.nc", destfile="SoilDepth.nc")
soil <- open.ncdf("SoilDepth.nc")
soil$var[[3]] -> var3 
get.var.ncdf(soil, var3) -> SoilDepth
download.file("http://gswp/Fixed/landmask_gswp.nc", destfile="landmask.nc")
landmask <- open.ncdf("landmask.nc")
landmask$var[[3]] -> varland
get.var.ncdf(landmask, varland) -> land
land = t(land)
land[land==1] <- SoilDepth
land[land==0] <- NA
land = t(land)
image(land)

此代码的结果将如下所示:![map of soil][1]

现在我想将它写入一个二进制文件:

结果是图像颠倒了。

4

1 回答 1

1

您自己请求反向定向,通过指定ylim=c(1,0). 只需将最后一行更改为

image(y)

你会没事的,因为双转置除了吃资源什么都不做。

更多信息:原始数据和重读数据之间的唯一区别是后者NaN在前者有(不可用)的地方有(即不是数字NA)。撤消此修改会产生完全相同的数据:

y[is.nan(y)] <- NA

在此之后,y变得无法区分land

于 2012-09-07T11:50:56.873 回答