sunlu123的个人博客分享 http://blog.sciencenet.cn/u/sunlu123

博文

根据参考图层属性参数值对目标图层进行空间重采样(spatial resample)。

已有 2616 次阅读 2019-9-11 09:25 |系统分类:科研笔记

当前越来越多的科学研究利用目前已有的环境因子图层,开展特定物种或者区域内物种的物种生态位模拟(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 属性值一致。



https://blog.sciencenet.cn/blog-3416345-1197510.html

上一篇:根据物种分布GPS点快速提取环境属性值
下一篇:根据需要的空间范围对目标图层进行空间裁剪
收藏 IP: 106.61.105.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-9-19 11:25

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部