R语言影像批量镶嵌与裁剪——mosaic

你有中国不同省份的影像,想要拼接镶嵌成完整的中国影像

镶嵌一

ruby 复制代码
library("raster")                                                                
library("sp")
library("rgdal")
library("rgeos")
library("foreach")
rm (list=ls())
setwd("your path/code")
IOA= c("beijing","changchun","changsha","chengdu","your city")
#图像存储在CC里
CC=foreach(ioa=1:36) %do% {
# cat=print功能
  cat (IOA[ioa],"\n")
# 读取raster
 lulc=raster(paste0("../input/lulc_city/reclass_",IOA[ioa],".tif"))
  lulc
  #print(origin(lulc))
}
a<-raster(paste0("../input/lulc_city/lulc_reclass_",IOA[36],".tif"))
origin(a)
#以最后一个原点为标准
names(CC)[1:2] <- c('x', 'y')
#重叠部分取均值
CC$fun <- mean
#计算空值
CC$na.rm <- TRUE
#容忍偏移
CC$tolerance=0.3
r <- do.call(mosaic,CC)
writeRaster(r,paste0("output/lulc_raw_cn.tif"),overwrite=TRUE)

镶嵌二

ruby 复制代码
library(raster)
tif_file_name <- list.files(path = r"(E:\02_Project\01_Chlorophyll\Select\Result)", pattern = ".tif$", full.names = TRUE, ignore.case = TRUE)
tif_file_list <- list()
for (i in 1:length(tif_file_name)){
  tif_file_list[i] <- raster(tif_file_name[i])
}
tif_file_list$fun <- max
tif_file_list$na.rm <- TRUE
tif_mosaic <- do.call(mosaic, tif_file_list)
plot(tif_mosaic)
# tif_merge <- do.call(merge, tif_file_list)
rf <- writeRaster(tif_mosaic, filename = r"(E:\02_Project\01_Chlorophyll\Select\NewClip\LCC_SC_3.tif)", overwrite = TRUE)

R语言raster包批量拼接、融合大量栅格图像

批量裁剪

设置文件路径

ruby 复制代码
raster_path <- "F:/tif2022/"
output_path <- "F:/month"

list <- list.files(raster_path, pattern = ".tif$")
dir <- paste0(raster_path, list)

clip_raster <- vect("F:/China/sheng2022.shp")
crs(clip_raster)

for (i in 1:length(dir)){
  raster_data <- rast(dir[i])
  
  # 投影图层
  clip_raster <- project(clip_raster, crs(raster_data))
  
  # 裁剪数据
  data <- trim(mask(raster_data, clip_raster))
  
  output_file <- paste0(output_path, "/", basename(list[i]))
  writeRaster(data, output_file, overwrite = TRUE)
}

R语言 | 批量裁剪

相关推荐
梦想的初衷~1 天前
MaxEnt物种分布建模完整教程|理论基础、数据获取、R清洗优化与论文制图全流程
r语言·生态遥感·物种分布模拟·maxent建模·r语言数据分析·arcgis实操·科研建模
Omics Pro5 天前
~30,000+引用!理论2005,R包2008,多组学集成AI增强
开发语言·数据库·人工智能·算法·机器学习·自然语言处理·r语言
天桥下的卖艺者7 天前
chrals.CTI函数升级版发布,增加了CTI衍生的脂肪指数提取
数据库·r语言
小师兄吃牛肉8 天前
什么是R语言?如何快速学习R语言
开发语言·学习·r语言
喆星时瑜9 天前
Win10/11 安装 R 与 RStudio 详细图文教程
开发语言·r语言·安装
喆星时瑜9 天前
R语言基础语法入门
开发语言·r语言
喆星时瑜9 天前
R语言向量语法的详细教程
开发语言·r语言
临床数据科学和人工智能兴趣组12 天前
在R语言中, 使用 as.factor() 函数转换数值型变量
开发语言·r语言
babe小鑫21 天前
信息与计算科学专业应届生面试 怎么证明自己能解决业务问题
学习·r语言·excel
深兰科技22 天前
深兰科技受邀参与第二届中国(南宁)—东盟人工智能场景应用对接会,深化AI国际合作
人工智能·qt·r语言·scala·symfony·智能机器人·深兰科技