其他
R语言降水量数据处理QGIS绘制等降水量线图
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设置方法:
Settings- Custom Projections 新建一个自定义坐标系 输入WKT文本
常见的中国地图使用的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项目属性中使用刚刚自定义好得坐标系即可:
降水量线生成
降水量TIFF裁剪
生成等降水量线(和等高线原理一样,工具一样)
为了达到较好的可视化效果,建议对降水栅格重采样,降低分辨率,然后再进行等降水量线的生成,达到较好的制图效果。 降水栅格重采样Resampling(我选择了0.5度) 生成等降水量线Contour 对等高线进行裁剪
制图排版
在QGIS中新建一个Print Layout,加入经纬网、图例、南海诸岛副图等。
最后成图如下:
参考文献
点击阅读原文可以查看对应视频课程,参加学习