我试图从here获取净初级生产力的时间序列全球估算值,将它们下载到美国的远程机器,机器(我在肯尼亚,手机上网速度慢) ),将它们从当前格式转换为ascii,使用如下函数粗化它们:
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软件包。
答案 0 :(得分:5)
光栅软件包具有出色的工具,可以读取和编写多种不同格式的网格化数据,并对此类数据执行各种操作。
使用它,您的案例中的基本工作流程(对于单个文件)可能是这样的:
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")
中列出的所有帮助文件)开始,然后如果遇到严重的障碍,请回到此处。