朋友们好,在空间数据分析中,通常我们需要从表格中提取各点对应的栅格数据。传统的操作方法通常通过 ArcGIS 来加载 CSV 文件,提取经纬度,设置坐标系,导出矢量图层,进行采样处理。这一过程既繁琐又耗时。我们写了R代码,它可以简化这一过程,并且将结果输出为 CSV。library(raster)
library(dplyr)
library(readr)
csv_path <- "csv路径"
df <- read_csv(csv_path)
raster_folder <- "栅格数据所在文件夹"
raster_files <- list.files(raster_folder, pattern = "\\.tif$", full.names = TRUE)
results <- list()
for (raster_file in raster_files) {
raster_data <- raster(raster_file)
values <- extract(raster_data, df[, c("Longitude", "Latitude")])
file_name <- gsub(".tif$", "", basename(raster_file))
df[[file_name]] <- values
}
output_csv <- "输出路径"
write_csv(df, output_csv)
cat("数据提取完成,并已保存为:", output_csv, "\n")
![]()