如何在R中基于野火栅格创建网格并绘制旅鸫出现点?
解决方案
1. 安装并加载必要的R包
先安装并加载处理空间数据的核心工具包:
install.packages(c("sf", "raster", "ggplot2")) library(sf) library(raster) library(ggplot2)
2. 将旅鸫数据转为sf空间对象
假设你的数据框名为thrush_data,包含经纬度列(例:lon和lat),执行以下代码完成转换:
# 读取数据(替换为你的实际文件路径) # thrush_data <- read.csv("your_thrush_data.csv") # 转换为sf对象,指定十进制度经纬度对应的WGS84坐标系(EPSG:4326) thrush_sf <- st_as_sf(thrush_data, coords = c("lon", "lat"), crs = 4326) # 若转换报错,先移除含缺失值的行 # thrush_data <- na.omit(thrush_data)
注意:如果你的经纬度列名不是lon/lat,需替换为数据中实际的列名(比如longitude/latitude)。
3. 加载野火栅格并创建匹配网格
3.1 统一坐标系
Hayman野火位于美国科罗拉多州,建议将所有数据转换为UTM投影(EPSG:32613,UTM 13N),避免地理坐标系下的距离偏差:
# 加载野火栅格文件(替换为你的栅格路径) hayman_raster <- raster("hayman_wildfire.tif") # 将栅格和点数据转换为UTM投影 hayman_raster_proj <- projectRaster(hayman_raster, crs = "+init=EPSG:32613") thrush_sf_proj <- st_transform(thrush_sf, crs = 32613)
3.2 创建栅格范围匹配的网格
定义网格单元格大小(单位为米,示例设为1000米即1公里,可按需调整):
# 基于栅格边界生成网格 cell_size <- 1000 # 单元格边长,单位:米 grid <- st_make_grid( st_as_sfc(st_bbox(hayman_raster_proj)), cellsize = cell_size, what = "polygons" ) # 转换为sf对象,并裁剪到野火栅格的实际范围 grid_sf <- st_sf(geometry = grid) %>% st_intersection(st_as_sfc(st_bbox(hayman_raster_proj)))
4. 绘制网格与旅鸫出现点
用ggplot2完成可视化,可区分两次调查的0/1观测值:
ggplot() + # 绘制野火栅格底图(可选,展示过火区域) geom_raster( data = as.data.frame(hayman_raster_proj, xy = TRUE), aes(x = x, y = y, fill = layer), alpha = 0.6 ) + # 绘制网格 geom_sf(data = grid_sf, fill = "transparent", color = "gray50", linewidth = 0.3) + # 绘制第一次调查的旅鸫点,用颜色区分出现/未出现 geom_sf( data = thrush_sf_proj, aes(color = factor(survey1)), # 替换survey1为你的第一次调查列名 size = 2 ) + # 绘制第二次调查的旅鸫点,用形状区分出现/未出现(可选) geom_sf( data = thrush_sf_proj, aes(shape = factor(survey2)), # 替换survey2为你的第二次调查列名 size = 2, color = "black" ) + # 调整配色与标签 scale_fill_viridis_c(option = "inferno", name = "过火强度") + scale_color_manual(values = c("0" = "white", "1" = "darkred"), name = "第一次调查出现") + scale_shape_manual(values = c("0" = 1, "1" = 16), name = "第二次调查出现") + theme_bw() + labs(title = "Hayman野火区域旅鸫观测点与网格", x = "UTM东向坐标", y = "UTM北向坐标")
内容的提问来源于stack exchange,提问作者BiggestNoob
相关产品推荐
相关产品推荐

