本文以TIF格式的气象数据为例,演示如何根据excel表格中的经纬度信息(坐标点),来提取TIF格式的气象数据集中的各气象因素。(前提:TIF格式数据中包含excel中的坐标点)。
library(terra)
library(stringr)
library(dplyr)
library(readxl)
# 设置工作目录
setwd('项目工作路径')
# 列出工作路径中所有TIFF文件
fls <- list.files(pattern = '.tif$', full.names = TRUE)
# 读取Excel文件中的经纬度数据
excel_file <- '项目工作路径/excel文件名.xlsx' # 替换为你的Excel文件路径
sheet_name <- 'Sheet1' # 替换为你的工作表名称
dt1 <- read_excel(excel_file, sheet = sheet_name)
# 使用“地址”列作为ID
#选择1
dt1$ID <- dt1$地址 #可能会有存在多对多的情况,即地址相同的情况,最好是用唯一ID号(可以提前在excel中生成)
#选择2
dt1$ID <- dt1$ID #建议用这个ID
# 创建矢量点
pits <- vect(dt1, geom=c("Longitude", "Latitude"), crs="+proj=longlat")
# 显示生成的点
plot(pits)
# 提取气象因子类型
factors <- unique(str_extract(basename(fls), "^[a-z]+"))
# 创建一个存放结果的表格
rst <- data.frame(ID = unique(dt1$ID))