QGIS 3.14 原生时间特性初探

在这里插入图片描述
QGIS 3.14版本引入了很多新特性,个人认为最激动人心并影响深远的是对时间的原生支持。地理现象本身就是在一定时间和空间范围内发生与变化的,时间可以说是GIS进行可视化与空间分析时不可或缺的维度。传统GIS应用中,时间维度通常被隐含或者简化处理,既有地理数据本身更新频率较低的原因,也和GIS软件对时间的支持不足有关。

在之前的版本中,QGIS对时间的处理是通过Time Manager插件实现的。而 QGIS 3.14将时间处理能力全面引入软件整体框架之中,以原生的方式全面支持各类数据集对时间维度的处理。

项目属性对话框增加了设置项目级时间参数的选项卡,可以指定项目时间属性的起始时间与终止时间。起始时间与终止时间构成了项目时间范围(Project Time Range)
在这里插入图片描述
图层属性对话框增加了配置图层时间参数的选项卡,可以为图层设定多种时间特征。
在这里插入图片描述
菜单【视图】-【面板】中增加了【Temporal Controller】(即【时间控制器】)子菜单,可以控制是否显示【Temporal Controller】面板。
在这里插入图片描述

【Temporal Controller】面板用于打开或关闭地图窗口的按时间导航功能,并可以设定各类显示参数。通过设定起始时间与终止时间,【Temporal Controller】面板定义了地图窗口时间范围(Canvas Time Range)
在这里插入图片描述

QGIS 3.14支持的时间类型有很多种,本文以包含时间字段的点图层为例,演示时间的用法。示范数据采用大家熟悉的世界海盗事件数据,关于数据的说明可以参考《QGIS 3.10 制作时序动画》

示范数据下载地址:

海盗事件图层:
http://www.qgistutorials.com/downloads/ASAM_shp.zip

1:1千万陆地图层:
http://www.qgistutorials.com/downloads/ne_10m_land.zip

将下载的两个压缩文件解压后生成的SHP文件加载到QGIS 3.14中,并将图层名分别修改为“海盗事件”和“大陆”。
在这里插入图片描述
打开“海盗事件”图层属性表,可以看出dateofocc字段记录了2000年1月2日至2018年1月1日之间全球6000多次海盗事件发生的日期。
在这里插入图片描述
默认情况下,各个年份发生的海盗事件全都显示在地图窗口中,难以区分。可以通过对dateofocc字段设置过滤条件,达到只显示特定年份数据的目的,但不同时间段数据分布规律的对比依然繁琐且不直观。如果通过为不同年份的数据设定不同样式的符号,虽然可以达到区分的效果,但对于数据密集的区域,会存在大量符号压盖的情况,而且无法反映出数据在时间尺度上的演变规律。QGIS 3.14的时间处理能力为解决这些问题提供了较好的处理方案。

打开“海盗事件”图层属性对话框,切换到【Temporal Settings】选项卡。勾选选项卡上方的【Temporal】复选框,激活图层的时间特性。在【Configuration】下拉列表中选择【Single Field with Date/Time】,表明时间信息包含在图层的单个字段中。在【Field】下拉列表中选择【dateofocc】,指定该字段为图层的时间字段。
在这里插入图片描述
设置完毕后,点击【OK】按钮,关闭对话框,返回地图窗口。这时,【图层】面板里的“海盗事件”图层右侧出现了一个时钟形状的图标,标识该图层为时间图层(Temporal layer)
在这里插入图片描述
通过菜单【视图】-【面板】-【Temporal Controller】,打开【Temporal Controller】面板。默认情况下,【Temporal Controller】的时间导航功能处于关闭状态。
在这里插入图片描述
点击【Temporal Controller】面板上方左数第三个按钮,切换到时间导航动画(Animated temporal navigation)状态。注意观察,地图窗口中的海盗事件点要素全部消失了。原因是【Temporal Controller】面板中时间范围的默认起止日期都是当前日期(即今天),而地图窗口中的任一海盗事件的发生时间均不在这一默认时间范围内,因此全都被过滤掉了。点击时间范围设置下拉按钮,在弹出菜单中选择【Set to Single Layer’s Range】-【海盗事件】,将地图窗口的时间范围设置为与海盗事件图层的时间范围保持一致。
在这里插入图片描述
设置完成后,【Temporal Controller】面板中的地图窗口时间范围将显示为从2000年1月2日起到2018年1月1日止。在时间间隔(Step)下拉列表中选择years,即以年为间隔。
在这里插入图片描述
点击【Temporal Controller】面板中的【Play】按钮,地图窗口将以年为单位自动切换各年的海盗事件要素,达成时态动画的效果。
在这里插入图片描述
这一效果实现的原理是:【Temporal Controller】面板定义了地图窗口的时间范围,即从2000年1月2日起到2018年1月1日止。时间间隔设置为1年,意味着动画第一帧对应的时间段为2000年1月2日至2001年1月1日,第二帧对应的时间段为2001年1月1日至2002年1月1日,以此类推。对于每一帧动画,时间字段dateofocc取值在该帧对应的时间段范围内的要素将会显示在地图窗口中,其余要素则将被过滤掉。

点击【Temporal Controller】面板右侧的【Export animation】按钮,弹出【Export Map Animation】对话框,设定一个输出文件夹,保持其他各项的默认设置,可以将各帧动画批量输出为图片。
在这里插入图片描述


在这里插入图片描述
打开ezgif.com 网站,将上述图片上传,可以合成GIF动图并下载到本地使用,具体操作方法可以参考:《QGIS 3.10 制作时序动画》。
在这里插入图片描述

矢量图层的各种渲染方式都可以制成时间动画,比如热力图
在这里插入图片描述
QGIS 3.14对时间特性的支持是全方位的,而且时间特性可以有多种组织形式。本文仅介绍了包含单个时间字段的点图层的时态可视化效果,还很初级和肤浅。今后将继续深入研究QGIS 3.14的时间特性,并及时与大家分享。

Q博士

2020年6月28日


版权声明

本文欢迎转载,转载时请注明出处。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/QGISClass/article/details/106992596