R语言批量处理TRMM降雨数据
Posted 召唤师峡谷
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言批量处理TRMM降雨数据相关的知识,希望对你有一定的参考价值。
最近在使用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
以上是关于R语言批量处理TRMM降雨数据的主要内容,如果未能解决你的问题,请参考以下文章