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

news/2025/2/6 1:56:48/

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

镶嵌一

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")
# 读取rasterlulc=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)

镶嵌二

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包批量拼接、融合大量栅格图像

批量裁剪

设置文件路径

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语言 | 批量裁剪


http://www.ppmy.cn/news/1424613.html

相关文章

Django中间件路由映射自动加/斜杠问题原因及分析

输入 http://127.0.0.1:8000/main/index/ 输入 http://127.0.0.1:8000/main/index 路由定义情况 urlpatterns [path("index/", views.index) ]可以发现我在输入URL的index路由时&#xff0c;如果没有和Django定义的路由匹配规则一样的话&#xff0c;浏览器自…

【机器学习】数据变换---小波变换特征提取及应用案列介绍

引言 在机器学习领域&#xff0c;数据变换是一种常见且重要的预处理步骤。通过对原始数据进行变换&#xff0c;我们可以提取出更有意义的特征&#xff0c;提高模型的性能。在众多数据变换方法中&#xff0c;小波变换是一种非常有效的方法&#xff0c;尤其适用于处理非平稳信号和…

(十六)call、apply、bind介绍、区别和实现

函数中的this指向&#xff1a; 函数中的this指向是在函数被调用的时候确定的&#xff0c;也就是执行上下文被创建时确定的。在一个执行上下文中&#xff0c;this由调用者提供&#xff0c;由调用函数的方式来决定。 类数组对象arguments&#xff1a; arguments只在函数&#…

Adobe Premiere Pro将加入AI生成式功能,以提高视频编辑的效率;OpenAI宣布在东京设立亚洲首个办事处

&#x1f989; AI新闻 &#x1f680; Adobe Premiere Pro将加入AI生成式功能&#xff0c;以提高视频编辑的效率 摘要&#xff1a;Adobe宣布&#xff0c;将为Premiere Pro引入由生成式AI驱动的新功能&#xff0c;以提高视频编辑的效率。这些功能包括“生成扩展”&#xff0c;能…

ArrayList,Vector,LinkedList内存解析

1.ArrayList (1). 特点 : 实现了List接口&#xff0c;存储有序的&#xff0c;可重复的数据.底层使用Object[]数组存储.线程不安全.(底层方法未用synchronized修饰.) (2). 版本解析 : <i> : JDK7版本 ArrayList<String> list &#xff1d;new ArrayList<&…

OV通配符证书:安全、便捷的网络认证新选择

OV通配符证书&#xff0c;即组织验证型通配符证书&#xff0c;其最大特点在于其通配符功能。这意味着&#xff0c;一个OV通配符证书可以覆盖同一主域名下的多个子域名&#xff0c;大大简化了证书管理和维护的复杂性。无论是大型企业还是个人网站&#xff0c;都可以通过OV通配符…

服务器上部署GPU版的milvus向量数据库

1、安装docker compose 我们可以从 Github 上下载它的二进制包来使用&#xff0c;最新发行的版本地址&#xff1a; https://github.com/docker/compose/releases sudo curl -L "https://github.com/docker/compose/releases/download/v2.6.0/docker-compose-$(uname -s)…

「GO基础」在Windows上安装Go编译器并配置Golang开发环境

文章目录 1、安装Go语言编译程序1.1、下载GoLang编译器1.2、安装GoLang编译器 2、配置Golang IDE运行环境2.1、配置GO编译器2.1.1、GOROOT 概述2.1.2、GOROOT 作用2.1.2、配置 GOROOT 2.2、配置GO依赖管理2.2.1、Module管理依赖2.2.2、GOPATH 管理依赖 2.3、运行GO程序2.3.1、创…