中国地震  2021, Vol. 37 Issue (4): 837-842
基于MQTT协议的地震专题图自动生成和推送系统的设计与实现
郑韵1, 杨天青2, 王青平1, 郑超1, 王辉山1, 郭进波1     
1. 福建省地震局,福州 350003;
2. 中国地震台网中心,北京 100045
摘要:为增强地震专题图发布的时效性,提升地震专题图服务能力,设计了一套基于MQTT协议的地震专题图自动生成和推送系统。该系统通过移动互联网与地震速报系统之间保持长连接,利用MQTT协议实时接收地震速报信息,根据地震烈度衰减模型生成地震影响场,然后运用ArcPy站点包进行相关空间分析和自动出图,最后利用企业微信的开发接口,实现了地震专题图的快速发布。地震专题图自动生成和推送系统已向福建省地震局和各地级市地震局相关人员提供服务,并在数次中国台湾的地震中取得良好效果。
关键词MQTT    地震专题图    ArcPy    企业微信    
MQTT-based Design and Implementation of Automatic Earthquake Thematic Map Generation and Push System
Zheng Yun1, Yang Tianqing2, Wang Qingping1, Zheng Chao1, Wang Huishan1, Guo Jinbo1     
1. Fujian Earthquake Agency, Fuzhou 350003, China;
2. China Earthquake Networks Center, Beijing 100045, China
Abstract: In order to enhance the timeliness of the release of earthquake thematic maps and to improve the service capability, in this paper we design a set of automatic generation and push system for earthquake thematic maps based on the MQTT protocol. The system maintains a long connection with the earthquake quick report system through the mobile Internet, uses the MQTT protocol to receive the earthquake quick report information in real time, generates the earthquake influence field according to the seismic intensity attenuation model, and then uses the ArcPy site package to perform related spatial analysis and automatic map output. Finally by using the development interface of enterprise WeChat, the rapid release of earthquake thematic maps was realized. The automatic earthquake thematic map generation and push system has provided services to relevant personnel of the Earthquake Administration of Fujian Province and the earthquake administrations of various cities, and has achieved good results in dealing with several earthquakes in Taiwan.
Key words: MQTT     Earthquake thematic maps     ArcPy     Enterprise WeChat    
0 引言

地震专题图直观地展示出了地震位置、地震影响区域、震区人口密度和历史地震分布等灾区重要信息。破坏性地震发生后,无法第一时间获取震区的详细情况,而专题图可以为相关部门和人员提供灾区背景资料,其中利用烈度衰减关系生成的地震影响场是地震灾害损失评估的基础,根据烈度等震线迅速进行灾害损失初评估,为相关部门地震应急响应提供了重要的决策依据。目前,地震专题图依然以人工触发或绘制为主(张韶华等,2013和朝霞等,2013孙哲等,2018),服务模式主要为指挥大厅大屏展示、官方网站发布或者打印纸质版使用。由此看出,传统制图方式严重依赖专业技术人员,成图耗时长,且查阅较为不便。随着移动互联网的迅速发展和智能手机的普及,可以通过移动客户端将专题图自动推送至特定用户,无论何时何地,只要移动终端有网络,用户便可以第一时间接收到地震专题图。实现移动客户端地震专题图推送,需要采用高效、可靠、低耗的消息传输机制。

本研究借鉴了福建省地震预警信息发布系统,采用MQTT(Message Queuing Telemetry Transport)协议作为消息传输机制(周施文等,2017)。本文将展示一套基于MQTT协议的地震专题图自动生成和推送系统,该系统通过MQTT协议自动接入地震速报参数信息,根据地震烈度衰减模型生成地震影响场,运用ArcGIS软件提供的ArcPy站点包进行相关空间分析和自动出图,最后将产出的专题图件推送到单位的企业微信。该系统实现了从接入地震速报到推送微信的自动化智能化流程,提高了地震专题图自动发布水平,提升了地震专题图的服务能力和用户体验。

1 MQTT协议

MQTT协议全称为消息队列遥测传输协议,是一种“轻量级”基于发布/订阅模式的消息传输协议。MQTT协议构建于TCP/IP协议上,其设计思想是开放、简单、轻量、易于实现。MQTT协议的主要优势为,其只需要简洁的代码和少量的宽带,便能为远程设备提供高效稳定的消息服务。MQTT协议支持百万级并发消息传递。地震专题图自动生成系统通过MQTT协议向消息代理订阅相应的主题(地震速报的主题为EQR),一旦消息代理收到满足专题图发布条件的EQR主题信息,将触发地震专题图自动生成系统。

2 ArcPy站点包

ArcPy是ESRI公司针对ArcGIS系列产品开发的Python站点包,其是一个以arcgisscripting模块为基础、并继承了arcgisscripting功能构建而成的站点包。ArcPy涉及地理数据分析、数据转换、数据管理和地图自动化等地理处理业务。当系统接收到符合条件的地震速报信息时,数据接收处理模块将解析提取数据包中的各项参数,根据地震烈度衰减关系生成地震影响场,然后运用ArcPy进行相关空间分析和数据转换,并将影响场图层添加至事先预设好的地震专题图模板,最后按照设定好的符号和标注方式进行符号化,自动生成地震专题图件。

3 地震专题图自动生成和推送系统 3.1 系统设计

基于MQTT协议的地震专题图自动生成和推送系统示意,如图 1所示。由于地震事件是突发性事件,需要专题图自动生成系统与地震速报数据处理系统之间保持一个可靠的长连接,在MQTT协议中则是通过心跳包维持长连接。当地震专题图自动生成系统收到地震速报数据处理系统产出的满足专题图发布条件的地震速报消息时,系统根据地震烈度衰减模型生成地震影响场,运用ArcPy站点包进行相关空间分析和自动出图,并将产出的地震专题图推送到单位的企业微信,从而实现专题图的快速发布。地震专题图主要包括震中位置图、地震影响场快速评估图、历史地震分布图、震中与主要城市距离图、震区人口密度图等图件。

图 1 基于MQTT协议的地震专题图自动生成和推送系统
3.2 地震速报信息数据包

地震速报信息数据传输使用的主题为EQR,兼容多种数据格式,其中json格式的字段说明见表 1

表 1 Json格式的地震预警信息字段信息
3.3 地震影响场生成

当接收到地震速报系统产出的满足专题图发布条件的地震正式报消息时,数据接收处理模块首先提取地震速报信息数据包的主题名,再从数据包中解析提取各个参数值,随后,专题图自动生成系统开始生成地震影响场,具体步骤为:

(1) 首先需要知道震中烈度大小。震中烈度值通过震中烈度与震级、震源深度的关系式估算(聂高众等,2018)

${I_e} = 4.154 + 0.113{M^2} - 0.0515H$ (1)

式中,Ie为震中烈度,M为震级,H表示震源深度。

(2) 其次确认影响场方向。本文通过查找距离震中位置最近的活动断层走向作为烈度圈方向。

(3) 最后利用中国东部地区烈度衰减模型(汪素云等,2000),可求得烈度圈长、短轴长度RaRb

${I_a} = 5.019 + 1.446M - 4.136\lg({R_a} + 24)$ (2)
${I_b} = 2.240 + 1.446M - 3.070\lg ({R_b} + 9)$ (3)

其中,I表示烈度值,M为震级,标准差σ取为0.517。

3.4 地震专题图生成 3.4.1 专题图模板定义

地震发生后,需要提供的专题图主要有震区影响场快速评估图、震区人口分布图、震区地形图、震区历史地震分布图及震中与主要城市距离图等,系统需要预先制作好相应的地震专题图模板文件。专题图模板主要包括地理要素、数学要素和整饰要素(黎维军等,2005)。地理要素指用地图符号所表示的制图区域内,各种自然和社会经济现象的分布、联系以及时间变化等内容,如行政界线、人口、江河、道路等;数学要素决定了图形分布位置和几何精度,包括比例尺、地图投影及坐标网等;整饰要素则方便了读图和用图,如图例是地图内各种符号的说明。在ArcMap中进行专题图模板的制作,对各种专题数据进行符号化和标注,在布局窗口制作图例,并设置图名、比例尺和指北针的放置位置,即完成了模板制作。

3.4.2 专题图快速生成

将生成的地震影响场图层叠加至预设的专题图模板中。图名根据地震速报参数中的震中地名和震级自动生成,名称为“震中地名+震级+地震+模板文档名”,制图时间自动获取成图时的本地时间,最后确定专题图的出图范围和输出分辨率,快速生成专题图。

3.5 专题图企业微信推送

使用企业微信推送需要申请企业微信账号,注册完成后获取企业微信的corpid(企业ID,每个企业均拥有唯一的corpid)、secret(密钥,企业应用里用于保障数据安全的“钥匙”,每个应用均有一个独立的访问密钥,为保证数据安全,secret不能泄露)、agentid(企业应用id)和tagid(标签,为推送对象分组),并由corpid和secret生成access_token(接口访问凭证,所有接口在通信时均需携带此信息用于验证接口的访问权限)。程序自动将生成的专题图封装成Json数据包,通过post方式将Json数据包发送到企业微信指定的包含access_token的url,则tagid中的企业成员均可接收到推送的地震专题图。

4 实例

据中国地震台网正式测定,北京时间2020年12月10日21时19分中国台湾宜兰县海域(24.74°N,121.99°E)发生5.8级地震,震源深度80km。地震造成台北市震感强烈,全岛震感明显,福建省福州、厦门、泉州等地亦有明显震感。

福建省地震局紧急地震信息发布平台(企业微信)于震后十几秒发布了地震影响场快速评估图,并在一分钟内发布了震中位置图、震中与主要城市距离图、震中地形图、震区人口密度图、震区历史地震分布图和震区交通图等地震专题图件。

5 结论

本文设计了一套基于MQTT协议的地震专题图自动生成和推送系统,该系统利用企业微信的开放接口,实现了地震专题图的自动推送,在地震正式报后十几秒,相关特定用户就可以接收到地震专题图。

本文设计的技术系统已应用在福建省地震局紧急地震信息发布平台(企业微信),系统通过MQTT协议实时接入地震速报参数信息,根据地震烈度衰减模型生成地震影响场,运用ArcGIS软件提供的ArcPy站点包进行相关空间分析和自动出图,最后利用企业微信的开发接口,实现地震专题图的快速发布。该系统实现了从接入地震速报到推送微信的自动化、智能化流程,提高了地震专题图自动发布水平,促进了地震专题图的服务能力。

参考文献
和朝霞、贾宁, 2013, 基于ArcGIS的地震专题图快速生成技术研究, 四川地震, (1): 45-47.
黎维军、郭敬平, 2005, GIS中动态模板的设计与实现, 测绘信息与工程, 30(2): 15-17.
聂高众、徐敬海, 2018, 基于震源深度的极震区烈度评估模型, 地震地质, 40(3): 611-621.
孙哲、韶丹、郭建兴, 2018, 基于Python的地震影响场自动生成与发布技术的研究与实现——以陕西省为例, 华北地震科学, 36(3): 46-51.
汪素云、俞言祥、高阿甲等, 2000, 中国分区地震动衰减关系的确定, 中国地震, 16(2): 99-106.
张韶华、杨昆、李永强等, 2013, 基于ArcEngine的数字等震线快速绘制方法研究-以云南省为例, 科学技术与工程, 13(34): 10187-10192, 10202.
周施文、郑超、程志, 2017, 基于MQTT协议研发安卓手机地震预警应用, 华南地震, 37(4): 48-53.