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降雨数据的主要内容,如果未能解决你的问题,请参考以下文章

如何通过天气 api 获取降水/降雨?

全国多年平均降水量空间分布数据1951-2021年气温分布数据蒸散量数据蒸发量数据太阳辐射数据日照数据风速数据

R语言批量处理植物名信息

cass中高程负值怎么消除

R语言批量读文件

R语言批量把dataframe多个分类变量因子化处理批量把多个分类变量转换为因子变量