You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中用terra绘制指定样式世界地图并叠加.tif栅格文件

解决terra绘制SP样式世界地图并叠加栅格的问题

方法1:直接使用SP格式边界数据绘图并叠加栅格

这种方法直接调用SP格式的国家边界,保留terra对SP对象的默认绘图样式:

# 加载依赖包
library(terra)
library(rnaturalearth)

# 获取SP格式的世界国家边界数据
world_sp <- ne_countries(returnclass = "sp")

# 绘制SP样式的世界地图(浅填充+黑色细边界)
plot(world_sp, col = "antiquewhite", border = "black", lwd = 0.5)

# 读取目标TIFF栅格文件
raster_tif <- rast("你的文件路径.tif")

# (可选)统一坐标系:将栅格转换为与世界地图匹配的投影
raster_proj <- project(raster_tif, crs(world_sp))

# 叠加栅格到地图上,alpha参数控制透明度避免覆盖边界
plot(raster_proj, add = TRUE, alpha = 0.7)

方法2:调整SF格式数据的绘图参数模拟SP样式

如果偏好使用SF格式数据,可将其转换为terra支持的SpatVector,再通过参数调整实现SP版本的样式:

library(terra)
library(rnaturalearth)

# 获取SF格式的世界国家边界数据
world_sf <- ne_countries(returnclass = "sf")

# 转换为SpatVector并设置绘图参数匹配SP样式
plot(vect(world_sf), col = "antiquewhite", border = "black", lwd = 0.5)

# 读取并处理栅格
raster_tif <- rast("你的文件路径.tif")
raster_proj <- project(raster_tif, crs(vect(world_sf)))

# 叠加栅格
plot(raster_proj, add = TRUE, alpha = 0.7)

关键参数说明

  • col:设置国家多边形的填充色,用antiquewhite模拟SP版本的默认浅色系
  • border:设置边界线条颜色,SP版本默认黑色
  • lwd:调整边界线粗细,适配SP版本的细线条效果
  • alpha:控制栅格透明度,确保底层国家边界可见
  • project():当栅格与地图投影不一致时,必须执行投影转换才能正确叠加

内容的提问来源于stack exchange,提问作者close2zero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 21:06:17