当前位置: 首页 > news >正文

R脚本-环境数据处理:利用R批量对环境数据眼膜提取转ASC

R脚本-环境数据处理:利用R批量对环境数据眼膜提取转ASC

# 加载必要的包
library(raster)
library(sf)# 设置工作目录(需要掩模的栅格数据文件夹路径-注意是文件夹路径)
setwd("C:/Users/西安科硕信息/Desktop/BCC-CSM2-MR-校准数据")# 读取shp格式的地图数据
shp_path <- "C:/Users/qyf66/Desktop/地图/China.shp"
shp_data <- st_read(shp_path)# 确保shp数据的坐标系是WGS1984
if (!st_crs(shp_data)$epsg == 4326) {shp_data <- st_transform(shp_data, crs = 4326)cat("已将shp数据转换为WGS1984坐标系\n")
}# 获取所有文件夹
folders <- list.dirs(full.names = FALSE, recursive = FALSE)# 创建输出根文件夹(设置数据输出的路径-结果文件夹会创建在该路径下)
output_root <- "C:/Users/qyf66/Desktop/1103446030"
dir.create(output_root, showWarnings = FALSE)# 遍历每个文件夹
for (folder in folders) {cat("处理文件夹:", folder, "\n")# 获取文件夹的完整路径folder_path <- file.path(getwd(), folder)# 获取文件夹中的所有tif文件tif_files <- list.files(folder_path, pattern = "\\.tif$", full.names = TRUE)if (length(tif_files) == 0) {cat("  文件夹中没有tif文件,跳过\n")next}# 创建输出文件夹output_folder <- file.path(output_root, folder)dir.create(output_folder, showWarnings = FALSE)cat("  创建输出文件夹:", output_folder, "\n")# 遍历每个tif文件for (tif_file in tif_files) {cat("  处理文件:", basename(tif_file), "\n")# 读取tif文件tryCatch({raster_data <- raster(tif_file)# 确保栅格数据的坐标系是WGS1984if (!as.character(crs(raster_data)) == "+proj=longlat +datum=WGS84 +no_defs") {cat("    转换栅格数据坐标系为WGS1984\n")raster_data <- projectRaster(raster_data, crs = "+proj=longlat +datum=WGS84 +no_defs")}# 进行掩膜提取cat("    执行掩膜提取...\n")masked_raster <- mask(raster_data, shp_data)# 生成输出文件名(不含扩展名)base_name <- tools::file_path_sans_ext(basename(tif_file))# 保存为TIF格式output_tif <- file.path(output_folder, paste0(base_name, ".tif"))writeRaster(masked_raster, output_tif, format = "GTiff", overwrite = TRUE)cat("    TIF结果已保存到:", output_tif, "\n")# 保存为ASC格式output_asc <- file.path(output_folder, paste0(base_name, ".asc"))writeRaster(masked_raster, output_asc, format = "ascii", overwrite = TRUE)cat("    ASC结果已保存到:", output_asc, "\n")}, error = function(e) {cat("    错误:", e$message, "\n")})}
}

资料来源:http://lucky-boy.ys168.com/

http://www.dtcms.com/a/609819.html

相关文章:

  • 可做影视网站的服务器手机浏览wordpress
  • 网站做跳转微信打开源码之家
  • 集美区网站建设校园网站建设管理工作制度
  • MySQL 常用 SQL 语句大全
  • 海康视频 h5player 配置 proxy 代理websocket播放视频问题(websocket在业务系统https方式访问http的播放视频)
  • 近期发生一个因为渲染导致的bug
  • 关于在嵌入式中打印float类型遇到的bug
  • Docker、Compose、Portainer与K8s详解
  • 益和热力性能优化实践:从 SQL Server 到 TDengine,写入快 20 秒、查询提速 5 倍
  • 自定义导航网站 源码网站按钮样式
  • docker启动失败
  • 卡索(CASO)汽车调查:数据智能时代,车企如何打赢一场“认知战”?
  • 数据结构之二叉树-链式结构(上)
  • 无极网站广告制作合同模板免费
  • 安全模式怎么进?【图文详解】win10/11安全模式?如何进入安全模式?
  • Docker 全面技术指南:从基础概念到企业级应用实践
  • 网站建设自评报告wordpress添加自定义导航栏
  • 开源模型应用落地-工具使用篇-Spring AI-高阶用法(九)
  • Server-Sent Events(SSE)详解:轻量级服务端推送方案
  • Ubuntu 下 PostgreSQL 安装与配置完整指南
  • UCOS-III笔记(七)
  • DDR4系列之ECC功能(六)
  • [Linux——Lesson25.线程:生产与消费者模型]
  • JavaScript while 循环
  • OceanBase分区基础知识
  • 网站如何做备份wordpress文章列分页
  • 制作一个网站需要多久wordpress地址怎么打开
  • vscode如何使用git
  • 建好网站后如何向里面加东西威海那家做网站好
  • 银河麒麟桌面操作系统的安装部署与常规使用