最近有个小伙伴问到了关于在栅格地图上绘制等高线的问题。今天我们就以降水量栅格数据为例讲解如何在 R 语言中绘制这种地图。
在学习本课程之前,需要预先学习之前的课程:
使用 R 语言绘制历年中国省市区县地图(小地图版本+长版):https://rstata.duanshu.com/#/brief/course/379d19770956478ebc4d919910fca74c
附件中提供了 2021 年各月的降水量栅格数据:pre_2021.nc,数据来源于 中国1km分辨率逐月降水量数据集(1901-2023):https://data.tpdc.ac.cn/zh-hans/data/faae7605-a0f2-4d18-b28f-5cee413766a2 。
填充地图
首先我们来绘制各省份的年均降水量填充地图。
读取栅格数据和省级矢量数据:
library(tidyverse) |
![]()
rst %>% |
分区域计算平均降水量:
terra::extract(rst, vect(prov), fun = mean, na.rm = T) %>% |
然后就可以绘制填充地图了,这部分代码类似之前的课程:
# 绘制填充地图 |
![]()
# 绘图 |
![]()
栅格地图
栅格地图的绘制方法也和之前课程中讲解的一样。栅格数据绘制地图需要转换成点或者多边形,所以这里我们改用 raster 包处理栅格数据:
# 栅格数据 |
![]()
# 栅格数据转点(高分辨率)或者多边形(低分辨率),这里使用多边形试试: |
![]()
这样我们就把等降水线添加到了地图上。
添加等降水线文本标签
如果想把等降水量线的文本标签标注到线上,可以借助 geomtextpath 包。
安装:
remotes::install_github("AllanCameron/geomtextpath") |
然后就可以绘制了:
library(geomtextpath) |
![]()
点击这里跳转到 RStata 短书平台获取附件:使用 R 语言绘制填充地图、栅格地图 + 等降水量线
评论