R语言批量处理TRMM降雨数据

来源:互联网 发布:电商 双十一 实时数据 编辑:程序博客网 时间:2024/05/03 12:40

最近在使用TRMM遥感降雨数据,下载的源数据是bin格式的,要转成tif格式的才能供后续研究使用,下载的数据文件中提供了MATLAB与Fortran两种读取方式,一开始尝试使用MATLAB读取,发现效率很低;后来经过搜索,使用R可以非常方便快速的实现bin到tif的批量转换

1、准备工作

安装R后需要安装raster、gdal、Rsenal三个包(可能安装带有)


2、批处理脚本

setwd("你的工作空间(文件存放目录)");library(raster) trmm <- raster(xmn=0, xmx=360, ymn=-50, ymx=50, ncol=1440, nrow=400) files <- list.files(pattern='.bin') for (f in files)  {   # for all files   trmm[] <- readBin(f, 'double', n=576000, size = 4, endian='big')   x <- flip(rotate(trmm), 'y')   x <- writeRaster(x, extension(f, 'tif')) } 

非常简单,只需要几行代码,即可实现bin->tif的批量转换

3、处理结果

TRMM数据范围为180W-180E,50S-50N;在ArcGIS中打开,可以看到转换后的tif是完全正确可用的。
这里写图片描述


4、后续计划

4.1 TRMM降雨精度评估

需要对站点降雨插值到TRMM统一分辨率进行日、月、年尺度评价。这里就带来一个问题,插值方法的选取(IDW与Co/kriging)可能IDW简单,现有采用的大都是IDW插值,但是研究表明,站点的降水量与高程显著相关。因此co/kriging(协同克里金)方法精度更高。

4.2 站点降雨插值

无论采用哪种插值方法,都需要编写批处理工具,还好通过搜索,R提供了强大的空间分析包gstat,其中就包括协同克里金方法,后面采用gstat对站点降雨进行批处理

5、总结

R是个非常有用的工具,值得总结常用的地学工具。

参考文章

[1]http://r-sig-geo.2731867.n2.nabble.com/Spatial-rainfall-or-precipitation-data-td6787851.html
[2]http://gis.stackexchange.com/questions/170137/converting-binary-trmm-to-geotiff-using-r
[3] http://blog.csdn.net/smileliaohua/article/details/7994150
[4] http://r.789695.n4.nabble.com/Cokriging-td4661766.html
[5] http://r-video-tutorial.blogspot.com/2011/04/cokriging-with-gstat-videotutorial.html

2 0
原创粉丝点击