查看原文
其他

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

走天涯徐小洋 走天涯徐小洋地理数据科学 2022-05-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的对比

333页QGIS入门指南电子书下载地址

前面电子书下载地址如果失效了请大家前往张云金老师的知识星球领取

下面直接给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绘制一张地图


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


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

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