查看原文
其他

​QGIS+R语言分析不同地区土地覆被占比变化

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

QGIS+R语言分析不同地区土地覆被变化

完全使用开源软件给大家做一期土地覆被变化的实验!

实验目的

研究多个地区不同年份的土地覆被类型占比变化情况。结果图如下:

1990-2020年京津冀土地覆被占比变化

实验数据

  • 4期土地覆被数据
  • 分区矢量数据,在这里使用了京津冀分市的行政区矢量

土地覆被重分类

原始的土地覆被类别比较多,二级类,先合并为一级类。

土地覆被对应代码表

一般栅格数据重分类可以使用重分类工具来做,但是这个土地覆被二级类转一级类如果用普通的重分类工具来做这个重分类要用的重分类对照表格实在是有些冗长。那么有没有什么优雅简便的方法呢?可以使用栅格计算的方法!

通过观察我们发现,一级类的代码也就是栅格值,其实是二级类除以10取整得到的。由于QGIS栅格计算器可用的函数太少了,我决定用R语言,terra包并行计算来搞定它!代码如下:

library(terra)
L2C2020 = rast("./LUCC/LUCC2020.tif")
reclass = function(a){
  a = floor(a/10)
}
L1C2020 = app(L2C2020, reclass, cores=4)
plot(L1C2020)
writeRaster(L1C2020, "./LUCC/L1Y2020.tif", datatype = "INT3U")

区域直方图

要想计算每个土地覆被类型在各个市的占比,我们需要进行分区统计,使用区域直方图(Zonal Histogram)即可实现,详见参考文献2。

针对多期土地覆被数据,可以使用QGIS的批处理,对多期土地覆被数据进行区域直方图的计算:

批处理

绘制占比分布图

QGIS制作饼图

在QGIS中生成饼图,数据需要为矢量数据,也就是上面区域直方图的计算结果。打开图层属性(Layer Properties),切到图表(Diagrams)选项卡,设置饼图(Pie Chart)如下图所示即可。

在图层属性中生成饼图

生成饼图后,原本的城市注记不见了,这是因为生成饼图后注记会和饼图冲突,默认会把注记隐藏,如下图所示,把所有的注记打开即可。

显示标注

叠加一下行政区矢量,调整符号化效果(参考:QGIS绘制山体阴影图),如下图所示:

QGIS中显示的分市土地覆被占比分布

这样我们就完成了一年的土地覆被分市占比分布的绘制,那么多年的如何出图呢?

多年分幅图绘制

打开Layout Manager,创建一个地图输出模版。

打开Layout Manager

在输出模版里面加入多个地图,每一个年份绘制完成后,将图层样式锁定,然后再绘制下一年份,逐一完成四幅图的绘制修改。具体可参见参考文献5推荐一个野外考察神器!+QGIS野外考察路径制图.

添加多个地图,排版

在这里给一个多图层统一样式的快速操作技巧,在QGIS中可以复制Style,然后到另一图层上粘贴这个样式,快速统一图层可视化效果。

多图层统一样式技巧

重点就是这些内容,如果还不太明白可以结合下面的参考文献,或者点击阅读原文,跳转培训班视频课程学习!

如果觉得有用还请分享、转发、再看,谢谢支持!

参考文献

  1. QGIS和R语言栅格数据重分类
  2. 栅格数据分区统计转面板数据,单波段、多波段数据都可以找到合适的方法
  3. QGIS绘制山体阴影图
  4. QGIS栅格图例设置详解——如何制作连续的和间断的图例
  5. 推荐一个野外考察神器!+QGIS野外考察路径制图

点击阅读原文查看视频课程

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

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