如何将* .adf文件读入R?


9

我要将.adf文件加载到R中。数据来自以下页面:http : //www.fao.org/geonetwork/srv/en/metadata.show?id= 14057

我尝试了以下代码,这些代码是在互联网上进行一些研究后发现的。问题是,在RasterLayer类中,我得到了不应该存在的负值。我不知道为什么会这样,所以希望有人可以帮助我!

码:

library(rgdal)
library(RColorBrewer)
dpath<- path...

x <- new("GDALReadOnlyDataset", dpath)
getDriver(x)
getDriverLongName(getDriver(x))
xx<-asSGDF_GROD(x)
r <- raster(xx)

“ r”的输出为:

r类:RasterLayer尺寸:2160、4320、9331200(nrow,ncol,ncell)分辨率:0.08333333、0.08333333(x,y)范围:-180、180,-90、90(xmin,xmax,ymin,ymax)坐标。参考 :+ proj = longlat + ellps = WGS84 + towgs84 = 0,0,0,0,0,0,0 + no_defs数据源:在内存名称中:band1值:-997,16(min,max)

值中的“ 16”表示生长期长度的16类。但是我不知道那些“ -997”来自哪里。坐标可能有问题。参考?

这也是“ xx”的数据摘要:

数据摘要:最小值 第一区 中位数第三区 最高 不适用-997 3 5 -9 8 16 7123158

如果我们更仔细地查看xx中的数据:

表(xx $ band1)

-997 1 2 3 4 5 6 7 8 9 10 11 12 31711 429643 83011 166674 207228 270161 240958 183342 118608 98795 88473 73743 56022 13 14 15 16 30104 45521 52216 31832

里面确实只有这个“ -997”。我认为NA是ozeans,所以数据加载是否有问题,还是我不理解数据?


1
请将标题更改为智能且准确的名称。
mdsumner

首先,根本不需要直接使用rgdal,只需使用raster(dpath)
mdsumner's

Answers:


3

您几乎是对的:

对于海洋,NODATA设置为-32768。此外,-997被设置为海岸线未排除的大湖。

由于在湖泊上像素含量(增长周期)毫无意义,因此您也可以安全地将-997视为NODATA。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.