查看原文
其他

R语言降水量数据处理QGIS绘制等降水量线图

走天涯徐小洋 走天涯徐小洋地理数据科学 2022-07-17

R语言降水量数据处理QGIS绘制等降水量线图

降水量数据是地理研究中经常用到的。下面介绍一下如何获取降水量数据并绘制等降水量线图。

降水量数据获取和处理

降水量数据获取

前面给大家分享过多套降水量数据,具体可以进入公众号,点击发现宝藏数据共享来查看。本次使用的是下面的数据:

其它降水数据可以查阅:

降水量数据处理

前面的数据是年累积降水量,为了进行气候分区我们需要进行多年平均,计算多年平均的降水量进而提取等降水量线。那么我们就需要给多年累积降水量做一个均值。

在这里我使用了R语言terra包进行多年降水量的均值计算。

开始计算前先把降水量数据放到同一个文件夹里
library(terra)
f = list.files(path = "./Pre/", pattern = '.tif$')  #遍历所有的TIF文件
fd = paste0("./Pre/", f)  #生成TIF文件目录
presum = rast(fd)  #读取所有的TIF,注意这个目录不能有汉字,否则terra包无法正确读取
premean = app(presum, mean, cores=4)   #求均值
plot(premean)
writeRaster(premean, "Premean.tif")  #输出TIF
多年平均年降水量分布

等降水量线制图

QGIS坐标系设置

数据制图要进行坐标系的设置,QGIS中坐标系设置的界面相比较ArcGIS来说不是那么友好。参考下面的文章可以了解QGIS坐标系是如何设置的。

QGIS WKT自定义坐标系研究及其与ArcGIS的对比

下面直接给QGIS设置方法:

  • Settings- Custom Projections
  • 新建一个自定义坐标系
  • 输入WKT文本
QGIS自定义坐标系统

常见的中国地图使用的Albers投影的WKT文本如下:

PROJCRS["ProjWiz_Custom_Albers",
    BASEGEOGCRS["WGS 84",
        DATUM["World Geodetic System 1984",
            ELLIPSOID["WGS 84",6378137,298.257223563,
                LENGTHUNIT["metre",1]],
            ID["EPSG",6326]],
        PRIMEM["Greenwich",0,
            ANGLEUNIT["Degree",0.0174532925199433]]],
    CONVERSION["unnamed",
        METHOD["Albers Equal Area",
            ID["EPSG",9822]],
        PARAMETER["Latitude of false origin",30,
            ANGLEUNIT["Degree",0.0174532925199433],
            ID["EPSG",8821]],
        PARAMETER["Longitude of false origin",105,
            ANGLEUNIT["Degree",0.0174532925199433],
            ID["EPSG",8822]],
        PARAMETER["Latitude of 1st standard parallel",25,
            ANGLEUNIT["Degree",0.0174532925199433],
            ID["EPSG",8823]],
        PARAMETER["Latitude of 2nd standard parallel",47,
            ANGLEUNIT["Degree",0.0174532925199433],
            ID["EPSG",8824]],
        PARAMETER["Easting at false origin",0,
            LENGTHUNIT["metre",1],
            ID["EPSG",8826]],
        PARAMETER["Northing at false origin",0,
            LENGTHUNIT["metre",1],
            ID["EPSG",8827]]],
    CS[Cartesian,2],
        AXIS["(E)",east,
            ORDER[1],
            LENGTHUNIT["metre",1,
                ID["EPSG",9001]]],
        AXIS["(N)",north,
            ORDER[2],
            LENGTHUNIT["metre",1,
                ID["EPSG",9001]]]]

然后在QGIS项目属性中使用刚刚自定义好得坐标系即可:

项目中使用自定义坐标系
自定义Albers投影后的中国形状是不是和标准地图很类似了

降水量线生成

  • 降水量TIFF裁剪
Clip raster by mask layer
  • 生成等降水量线(和等高线原理一样,工具一样)
Contour
2.5分分辨率的数据生成的等降水量线过于破碎
  • 为了达到较好的可视化效果,建议对降水栅格重采样,降低分辨率,然后再进行等降水量线的生成,达到较好的制图效果。
    • 降水栅格重采样Resampling(我选择了0.5度)
    • 生成等降水量线Contour
    • 对等高线进行裁剪
降水量栅格重分类后得到的等降水量线效果好很多

制图排版

在QGIS中新建一个Print Layout,加入经纬网、图例、南海诸岛副图等。

最后成图如下:

参考文献

  1. 【数据共享】全球2.5分分辨率最低、最高气温,累积降水栅格数据集在geodata公开发布下载
  2. QGIS WKT自定义坐标系研究及其与ArcGIS的对比
  3. 专题要素到标准地图的整合——以中国5A级景区分布图为例
  4. 如何使用QGIS绘制一张地图


点击阅读原文可以查看对应视频课程,参加学习


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存