|
当前越来越多的科学研究利用目前已有的环境因子图层,开展特定物种或者区域内物种的物种生态位模拟(species niche modelling)研究,从而预测区域内物种对全球环境变化的响应趋势。但是相关环境的需要从不同 的网站下载,每个大类的环境因子图层的参数会出现不一致的现象(例如范围(extent),精度(resolution) 等),这样的图层无法直接统一放在物种空间模拟软件(Maxtent, Biomod2等)中运行,因而需要统一所需环境图层属性参数值。
此博文将介绍如何利用R语言软件,快速实现根据已知环境图层属性值对目标图层进行空间重采样。
例子:根据WorldClim网站中的年均温图层对全球高程数据进行重采样。
#加载相关R语言软件包
library(rgdal)
library(raster)
#安装方法见上博文。
#提前设置好工作路径一般是环境图层所在的文件夹。
lst <- list.files(path=getwd(),pattern='asc$',full.names = T) # 这里用的是asc格式图层,可根据自己的需要修改,例如# bil、tif等。例如这里是WorldClim 网站中的年均温因子 (MAT),属性值:范围: (90,100,15,40),分辨率为1千米.
lst2 <- list.files(path=getwd(),pattern='tif$',full.names = T) # 这里用的是tiff格式图层,可根据自己的需要修改,例如# bil、asc 等。 例如这里是SRTM下载的全球高程数据,分辨率为30米。
lst2 #查看这个文件夹下所有文件
#运行核心代码
for(i in 1:length(lst)){
bio_name<-strsplit(strsplit(lst[[i]],split="/")[[1]][6],split=".asc")[[1]]#获取气候图层名,为后面的重采样图层自动命名。
#其中的6的设置见上博文。
fn<- paste(bio_name,"_resampled",".asc",sep="") #重新对采样的图层进行命名例如elevation_resampled.asc
BIO <- resample(raster(lst2[[1]]), raster(lst[[i]]), method="bilinear", filename=fn)
#注意其中的其中的methos参数,其指空间栅格计算方式:双线性插值法 (bilinear)和最近临近法(ngb)。
#写入已切割的环境图层
writeRaster(BIO, filename=fn, format="ascii", overwrite=TRUE)
}
最后输出的高程图层的空间属性参数值应和输入的MAT 属性值一致。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2025-1-5 11:58
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社