- 积分
- 1348
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2015-10-23
- 最后登录
- 1970-1-1
|
发表于 2016-1-14 09:13:49
|
显示全部楼层
最近用R语言用的多一点,nc格式文件也用的挺多。我用的是RNetCDF。不知道代码粘贴进来没有,我在复制一遍吧。
library(RNetCDF)
nc<-open.nc("D:\\DATA\\prcp05grid\\prcp05grid_china1961_2013.nc")#括号内是你的nc文件
prcp.sam<-var.get.nc(nc,"prcp",c(y.sam,x.sam,1),c(1,1,636))#读取的函数,这里有必要说明一下,第一个c()是读取数据的初始位置,第二个c()是读取的数据的形式
close.nc(nc)
关于你所说的经纬度,在定义nc文件的维度的时候,会有定义long跟lat,其实只要在属性中说明经纬度的起始点就行,读取的时候,都是按照编号来读取的。比如上面的c(y.sam,x.sam,1)中我y.sam就是对应的纬度的编号,x.sam对应的是经度的编号。后面的c(1,1,636),我的时间序列长度是636,所以这样读取的就是一个点所有时间序列上的数据。如果是c(72,128,1)就是我一个时间点上所有的数据(我是72*128*636的数据)。
还有你说的读取出的数据的格式是list,我读取出来的数据都是array格式的,也都是可以as.data.frame的。不知道你问的得到x的数据是什么意思。希望能帮到你。
|
|