[TIFF裁剪]将数据范围较大的TIFF文件,裁剪成所研究区域大小的TIFF文件

一般从网上直接下载的tiff格式文件都是比较大的(全球或者全国范围),直接使用会大大增加运行时间,如果所研究的内容有一个明确的研究区域,就可以先把大范围的tiff文件裁剪成目标区域的大小,以方便后期的数据提取。

以下代码是批量裁剪tif文件的简单示例,仅供大家参考

library(raster)
library(sf)

input_folder <- "待裁剪tif文件夹"
vector_file <- "shp文件路径.shp" #这里是你要裁剪成啥区域大小的shp文件
output_folder <- "裁剪后的文件保存路径"

# 读取矢量数据
vector_data <- st_read(vector_file)

# 获取输入文件夹中所有Tiff文件的文件路径
tiff_files <- list.files(input_folder, pattern = "\\.tif$", full.names = TRUE)

# 创建进度条
pb <- txtProgressBar(min = 0, max = length(tiff_files), style = 3)

for (i in seq_along(tiff_files)) {
  file <- tiff_files[i]
  
  # 读取Tiff文件
  raster_data <- raster(file)
  
  # 根据矢量数据的形状创建掩蔽区域
  mask <- rasterize(vector_data, raster_data)
  
  # 对Tiff文件进行掩蔽
  masked_data <- mask(raster_data, mask)
  
  # 构建新的文件名
  new_file <- file.path(output_folder, basename(file))
  
  # 保存掩蔽后的Tiff文件
  writeRaster(masked_data, filename = new_file, format = "GTiff")
  
  # 更新进度条
  setTxtProgressBar(pb, i)
}

# 关闭进度条
close(pb)

shp格式的文件如何获取可以参考这篇文章:学习路之gis--如何获取中国地图的shp文件(含省级

http://t.csdnimg.cn/FPrlaicon-default.png?t=N7T8http://t.csdnimg.cn/FPrla

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值