摘要
时间是空间数据集的重要组成部分。比如在国土空间规划编制中历年的土地利用变迁,人口迁徙等。除位置信息外,时间可以使用另一个维度来分析和可视化数据。
通过时间序列化的动态展示,呈现出来的数据肯定要比静态的更加直观,更加高大上。
如果你有包含时间的数据集或者有多份和时间相关的数据,可以使用QGIS中的TimeManager插件轻松地将其可视化。 通过TimeManager,可以查看和导出特定时间间隔之间的“切片”数据,这些时间间隔可以合并为动画。
本次演示使用海上海盗事件进行重点分析,创建热图可视化并创建动画,以了解过去20年中海盗热点的变化情况。
QGIS 版本:QGIS3.8以上版本。
顺便可以学到的知识
- 使用Heatmap渲染器插件快速显示密集点数据
- 创建和使用自定义地图投影
示例数据获取
美国国家地理空间情报局的海上安全信息门户提供了所有海盗盗版的数据文件。下载Shape格式文件,包含有几个矢量层。为了方便起见,直接从下面下载上述图层:
ASAM_shp.zip
ne_10m_land.zip
安装插件
菜单:插件‣管理和安装插件…。搜索并安装TimeManager插件。
开始
- 在“ QGIS Browser面板”中,找到保存下载数据的目录。( 解压ne_10m_land.zip后的选择ne_10m_land.shp层。 解压到ASAM_shp.zip。选择asam_data_download / ASAM_events.shp。)
- 加载图层后,可以看到代表盗版位置事件的各个点。 有成千上万的事件点,呈现效果不理想。这时候需要使用热力图进行可视化数据。 选择ASAM_events图层,然后单击“图层”面板中的“打开图层样式面板”按钮。 单击单一符号下拉菜单。
- 在渲染器选择下拉列表中,选择“Heatmap”。接下来,从“色阶”选择器中选择Viridis色阶。
- 将“半径”值调整为5.0(这个值根据实际数据密度情况调整)。在底部,展开“Layer Rendering”,并将“不透明度”调整为75.0%。这样可以使热点具有良好的视觉效果,并且能看到底图的国家级形状区划。
- 现在可以对这些数据进行动画处理,显示盗版事件的年度地图。转到插件‣TimeManager‣切换可见性。
- 在TimeManager面板中,单击Setting。
- 在“时间管理器设置”窗口中,单击“添加图层”按钮。
- 源数据包含dateofocc属性-代表事件发生的日期。插件将使用此字段来确定每个时间段渲染的点。选择“ ASAM_events”作为“图层”,选择“ dateofocc”作为“开始时间”。结束时间设置为与开始时间字段相同。单击确定。
- 返回“时间管理器设置”窗口,单击“确定”。
- 单击TimeManager面板中的电源图标以启用该插件。将时间范围设置为1年。启用后,将在ASAM_events图层旁边看到一个过滤器图标。 TimeManager的工作原理是根据选定的字段和指定的时间段将过滤器应用于图层效果上。
TimeManager不支持临时图层哦,如果是临时图层,需要将临时图层保存一下。
- 现在可以观看动画了。单击“播放”按钮以查看年度海盗时间热点动画。
- 现在,动画的每一帧,日期都显示在右下角。修改时间,我们将其更改为显示地图所代表的年份。在“时间管理器”面板中单击“设置”。单击时间管理器设置对话框中的时间显示选项。
- 将“字体大小”调整为25。将“日期时间”格式更改为%Y。时间格式应以Python语法中的时间格式指定。 %Y是4位数字年份的短代码。Placement direction(放置方向)更改为NW(西北)。单击确定。
- 返回“时间管理器设置”对话框,勾选[循环]动画复选框。也可以修改样式和调整样式以使动画从头开始继续播放时。单击确定。
- 现在,时间标签将在左上角显示动画的年份。现在,我们可以导出动画,但是默认的地图投影是EPSG:4326,可以存储源数据,对于这样的全局可视化来说并不理想,地图很扁,一点也不美观,推荐使用Equal Earth Projection,可以从视觉上效果更好。转到设置‣自定义投影…
- 在“自定义坐标参考系统定义”对话框中,单击 ** [+] ** 按钮。输入“Equal Earth”作为名称。在“参数”框中输入以下定义。需要以PROJ格式指定参数。输入参数后,单击“确定”。
+ proj = eqearth + datum = WGS84 + wktext
- 在QGIS主窗口中,单击右下角的“当前CRS”显示。
- 搜索“Equal Earth”查找并选择新定义的投影。单击确定。
- 地图转换为“Equal Earth”投影。现在准备导出动画。导出之前,请确保将“时间管理器”面板中的时间滑块设置为开始位置。动画的导出将从时间滑块的当前位置开始。单击“时间管理器”面板中的“导出视频”按钮。
- 在“导出视频”对话框中,单击“选择输出文件夹”,然后选择目录。选择“Frames only”选项,然后单击“确定”开始导出过程。
- 导出完成后,出目录中看到每年的PNG图像。现在,根据这些图像创建GIF动画。从单个图像帧创建动画有很多选项。可以使用http://gif.55.la/,网站速度很快,打开网站,然后单击“选择文件”,然后选择所有.png文件。主要不要选择.pgw文件哦,选择前可以按照时间对png进行排序。选择后,点击上传并创建GIF!按钮。
- 完成该过程后,单击“保存”按钮将GIF下载。
欢迎扫码关注我: