2013-06-24 29 views
3

我試圖從here獲得網絡初級生產力的時間序列全球估計值,並將它們下載到一個遠程的美國機器(我在肯尼亞用慢速手機互聯網),將它們從當前的格式化爲ascii,使用如下函數粗化它們:使用R將geoTIF轉換爲ascii/text?

coarsen = function(input,size_out){ 
    if (dim(input)[1] != dim(input)[2]) {print("Matrix not square.")} else {  
    dimsize = dim(input)[1] 
    fac = dimsize/size_out 
    x = suppressWarnings(matrix(c(rep(1, fac), rep(0, dimsize)), dimsize, dimsize/fac)) 
    t(x) %*% input %*% x} 
    } 

然後下載它們以便我可以使用它們。這有可能使用R,而不是專門構建的GIS程序?如果是這樣,我該怎麼做? R首選的解決方案 - 我將使用我無法安裝程序的羣集,但我可以安裝R軟件包。

回答

3

柵格包具有優良的設施,用於閱讀和寫入許多不同格式的網格數據,並對這些數據進行各種各樣的操作。

使用它,你的情況基本工作流程(單個文件)可能是這樣的:

library(raster) 
f <- "path/to/downloaded/file.tif" 
r <- raster(f) 
ra <- aggregate(r, fact=2) ## By default aggregates using mean, but see fun= 
writeRaster(ra, "path/to/outfile.asc", format="ascii") 

包是有據可查的。我建議從?"raster-package"vignette(Raster)(加上help(package="raster")中列出的所有幫助文件)開始,如果遇到嚴重的障礙,則會返回此處。

+0

感謝,這看起來像它會工作,但它似乎取決於rgdal被安裝,這取決於gdal庫,我將不得不要求在超級計算機的人爲我安裝(install.packages(' rgdal')會失敗,除非你已經擁有這些庫,看起來似乎。) –

+0

是的,你說得對。我也許應該在答案中提到**柵格**通過** rgdal **從gdal中借用大部分或全部讀/寫設施。 –