地震在短时间内具有巨大的破坏性,而大地震的发生可能在一段时间内引发一系列自然和社会等次生灾害。中国是世界上地震灾害最为严重的国家之一,在历次地震发生后,地震应急救援工作为最大限度地减轻地震灾害提供了有力支持(李永强,2009;苏桂武等,2020)。地震应急专题地图是震后应急救援工作的重要参考依据,其基于地理信息系统,对灾害信息、地质地理背景信息、社会经济信息、灾情动态和评估信息等信息完成展示、输出和制图(马宝君等,2021)。
现实的地震应急专题地图制作工作涉及各类基础数据的收集、更新和处理,专业符号库设计,底图和版式设计以及综合制图和输出打印等任务,系统繁杂、工作量大。应急救援指挥的紧迫性又需要专题地图的生产和输出能够快速、准确(王冬辰等,2023),这就要求成图输出全过程的自动化。同时,为了满足越来越高的安全性和经济性要求,各类开源的地理信息系统也正在越来越广泛地应用于多个行业(代劲松等,2012;朱浩,2012;和海霞等,2018)。
中国地震局应急指挥中心震后快速产出的《地震灾害快速评估专报》和各类地震应急专题图件是支撑应急指挥决策的主要参考信息之一。但作为地震应急时期多方信息的汇聚点,在产出速度和丰富程度等方面仍有进一步提升空间(左天惠等,2017)。为此,需要有针对性的丰富产品产出的涵盖范围,同时提升产出速度和稳定性。目前,指挥中心生成的快速产品产出包括震中位置图、震区交通图、历史地震图等多种类型的专题图件,这些专题地图均已实现震后自动生成。同时,基于一定前期准备,在历次地震演练工作中,人工或自动生成的专题地图不论在丰富程度还是针对性上,均较真实地震更为多样。因此,将演练中形成的效果较好的专题图件,逐步转化为符合真实应急工作要求的自动产出产品是一项具有现实意义的工作。
在各类地震演练专题图件中,最具代表性和实用性的当属次生地质灾害类专题图,尤其是滑坡风险专题地图,对震后交通中断、人员埋压、指挥救援等工作具有较强的指示意义。因此,期望基于开源GIS(Geographic Information System)平台,实现灾害风险图件(滑坡危险性,含简要说明)的自动产出。
1 地震应急专题地图的自动生成 1.1 QGIS总体架构和开发方法随着信息技术的飞速发展,GIS自20世纪60年代诞生以来,在地理数据库、分析功能、数据处理等方面日益丰富和高效(陈卫林等,2015)。开源GIS作为地理信息系统的重要组成部分,得到了越来越广泛的应用(房哲,2019)。其中,2002年发布的QGIS(Quantum GIS)被认为是开源桌面GIS的鼻祖(张弟,2014),其组件层集成了GRASS(Geographic Resources Analysis Support System)系统的分析组件和GDAL(Geospatial Data Abstraction Library)数据管理组件,在数据库层支持PostGIS,可以和其他开源GIS实现互操作,因此可以支持众多数据格式及分析功能(丘洁萍,2021)。此外,QGIS具备强大的可扩展性,可以方便调用C++和Python两个版本的开发包(杨志高等,2011)。
QGIS的桌面系统支持Windows、Linux、Mac等操作系统。以Windows系统为例,只要完整安装了QGIS桌面端,其核心Python库qgis.core就可以方便地实现调用,完成例如图层管理、简单地理分析等基本功能(胡庆武等,2009)。基于QGIS更强的可移植性,在通用IDE中就可以轻松引用QGIS中的Python接口,方便了QGIS各项功能的非图形化调用,为二次开发铺平了道路。地震应急专题地图的使用场景,要求图件生成系统具备成图快速、运行稳定、图件美观的特点,且专题地图依赖的数据来源复杂,既有地震行业内的专业数据,也有其他相关行业的基础数据。QGIS可以较为出色地满足这些需求,开源社区(包括但不限于QGIS官网)提供的源码经编译可方便实现各类图件的自动产出,其出图效率和图件效果相比其他软件具有一定优势(邱儒琼等,2013)。
1.2 应急专题地图自动产出的QGIS实现应急专题地图自动产出程序采用PyCharm系统开发平台进行代码编写工作,通过QGIS的Python解释器,在PyCharm中以Python代码完成非图形界面的QGIS调用。当系统获取到当前地震三要素后,即触发自动出图程序,调取滑坡危险性专题地图模板所含图层,完成专题图件的自动绘制。基于QGIS的自动出图程序框架见图 1。
|
图 1 基于QGIS的自动出图程序框架 Fig.1 Automatic mapping program framework based on QGIS |
制图过程中所依赖的数据包括行政区划、交通、滑坡危险性基础数据,以及前期配置完成的QGIS模板文件和当前地震的影响场矢量文件;程序通过调用相应模板文件,读取所需图层数据,根据地域和震级的不同,制约图幅和图中元素的表达;同时完成简单的面与面、面与线交集运算,得出可能受到滑坡影响的交通线和兴趣点信息,并形成说明文字,最终生成图件产品(图 1),并以事先设定的命名规则命名,以指定格式输出至指定路径。具体来讲,在一次地震发生后,自动出图程序需要用到的数据包括:行政区划、活动断层、交通线等基础数据,以及震中位置、烈度快速评估等临时数据和系统时间、出图单位等信息。在先期配置的各类专题地图出图模板文件中,所需数据及图层样式已经配置完成。因此,创建并实例化一个QGIS工程文件后,需要正确调用模板文件,并根据模板需求导入图层。
自动生成震后第一批次专题地图,主要流程如下:在前期配置出图模板文件后,首先通过qgis.core中的QgsProject、QgsVectorLayer类库完成QGIS工程文件创建,其中QgsVectorLayer类库用于影响场、震中等临时矢量图层的导入,在实例化该工程文件过程中使用QgsLayoutManager类库调用相应出图模板文件,初步完成图件生成工作;然后,使用qgis.core中的QgsLayoutItemMap、QgsLayoutSize、QgsLayoutItem、QgsPrintLayout等类库,对初步生成文件进行相应整饰,依次完成图幅适配、标题填写、出图时间戳、指北针等图面基本要素的自动添加(图 2),由于涉及字体格式调整,需要获得PyQt5.QtGui的支持。
|
图 2 专题地图自动生成核心程序运行逻辑 Fig.2 The running logic of the core program for automatic generation of thematic maps |
滑坡危险性底图的生成重点在QGIS制图模板的配色、字体调整等工作,期望在图件美观方面对现有产品做出改进。此外,除需要调用现有基础数据外,还需调用当前地震影响场的矢量文件,该工作需要完成程序的外部通信,依据影响场大小,对图件的图幅范围进行适当调整,并对图中元素进行必要取舍。
2 应用实例地震应急快速出图是服务地震应急指挥决策的重要支撑产品之一,其产出效率、准确性和丰富程度,直接关系到应急指挥工作的效能(工作定位、意义、自动化的需求)。自动化的重点工作在于根据临时图层数据,对图幅做相应适配。需要识别震中位置和评估烈度圈的地理坐标(范围),以一定适配规则确定图幅大小。本研究采用方式如下:按照烈度圈设定地图矩形框大小,并根据震中位置移动,最终使地图以突出位置显示震中附近要素。
地图中的比例尺、指北针、图例等要素可视为固定要素,已在模板文件中配置,无需进一步修改。地图标题不能在模板文件提前配置,其一部分来自震中位置和震级大小,一部分来自模板文件名称。以四川九寨沟7.0级地震为例,读取该地震三要素中的震中和震级信息,并根据返回的模板文件名(如“震中位置”),合并形成地图标题,最后生成如“四川九寨沟7.0级地震震中位置图”的标题,并通过PyQt库完成对字体的相关配置。
最后,通过代码获取的时间戳,配以正则表达和PyQt字体设置,在成图中添加出图时间,即生成一幅完整的地震应急专题地图。在实际工作中,可以进一步将输出图件自动发送至各类目标(如打印机、移动端微信程序等输出设备)。
以2017年8月8日四川九寨沟MS 7.0地震为例,通过调用预先设置的QGIS模板文件,以及地震三要素和影响场等临时数据,程序自动生成第一批次和灾害风险图件,结果见图 3。
|
图 3 九寨沟MS 7.0地震第一批次专题图和灾害风险图件生成示例 Fig.3 Example of the first batch of thematic maps and disaster risk maps of the Jiuzhaigou Valley Scenic and Historic Interest Area MS 7.0 earthquake |
以QGIS开发的自动出图程序可以在获取地震参数后,以分钟级响应速度完成图件的生成工作,响应速度快。QGIS自带的开发库,结合GDAL、Geopandas等地理计算库,可共同构成地震应急自动出图程序的组件,简化出图目标实现过程,进而方便制图人员的常规制图工作,提升地震应急响应效能。开源QGIS包含丰富的软件包,以类库形式集成于系统,默认具备开发权限,基本可以满足地震应急自动出图的需求。此外,文中实现的灾害风险图件自动绘制,可作为震后应急快速产出图件产品之一,填补以往产品产出在地质灾害方面的欠缺,进一步提升震后应急工作的服务能力。
不断丰富地震应急产品类型、提高产品产出效率,是提升震后应急工作效能的重要举措。而图件产品是地震应急产品的重要组成部分,要求我们不但要着力完善产品种类和内容,也需要从技术角度采用多种工具高效、安全、稳定地实现以上工作。本文通过采用QGIS完成自动出图工作,验证了该方法的可行性,也为日后应用更多类型的地理信息系统工具建立了一种验证方法,即通过实现现有图件产品,综合比较其开发难度、功能特点、产出效率和稳定性,引入新的产品来验证制图工具在行业应用中的潜力。
陈卫林, 郑礼全. 基于开源QGIS源码编译的二次开发方法的探究[J]. 北京测绘, 2015(6): 71-74. |
代劲松, 曹林, 温小荣, 等. 基于开源GIS的森林资源管理信息系统设计与实现——以江苏省云台山为例[J]. 南京林业大学学报(自然科学版), 2012, 36(5): 174-178. |
房哲. 基于开源GIS的构造大地测量制图软件设计与实现[D]. 武汉: 武汉大学, 2019.
|
和海霞, 李素菊, 武斌. 公众和应急决策驱动的地震灾害响应制图[J]. 城市与减灾, 2018(6): 71-77. |
胡庆武, 陈亚男, 周洋, 等. 开源GIS进展及其典型应用研究[J]. 地理信息世界, 2009, 7(1): 46-55. |
李永强. 云南人员震亡研究[C]. 合肥: 中国科学技术大学, 2009.
|
马宝君, 李太岩, 赵建通, 等. 地震应急专题图快速产出系统开发——以黑龙江省为例[J]. 地震地磁观测与研究, 2021, 42(5): 172-179. DOI:10.3969/j.issn.1003-3246.2021.05.025 |
丘洁萍. 基于开源GIS的地震应急专题地图在线制图系统研究[D]. 南昌: 东华理工大学, 2021.
|
邱儒琼, 何保国. 基于QGIS的地名搜索插件开发[J]. 测绘通报, 2013(2): 76-78. |
苏桂武, Rodgers J, 田青, 等. 参与式渭南地震情景构建: 中国地震风险对策的行动研究示范[J]. 地震地质, 2020, 42(6): 1 446-1 473. |
王冬辰, 王琛, 张婷, 等. 江苏省地震应急专题图快速产出系统设计与实现[J]. 地震地磁观测与研究, 2023, 44(3): 185-191. DOI:10.3969/j.issn.1003-3246.2023.03.026 |
杨志高, 吴雨光. 多源分布式森林资源监测数据集成研究[J]. 西北林学院学报, 2011, 26(2): 171-179. |
张弟. DotSpatial开源GIS软件开发与研究[D]. 上海: 华东师范大学, 2014.
|
朱浩. 开源GIS支持下的灾害风险区划分析研究[D]. 青岛: 中国石油大学(华东), 2012.
|
左天惠, 刘敬华, 张沛全, 等. 利用开源QGIS软件提高地震应急专题图制作效率研究[J]. 大众科技, 2017, 19(7): 1-3. |
2024, Vol. 45

