基于Django框架的可视化地震目录服务系统1

2015-12-05 05:23:48马士振白立新张海春郭士军林向东白永福
震灾防御技术 2015年3期
关键词:测震台网页面

马士振 白立新 张海春 郭士军 林向东 白永福



基于Django框架的可视化地震目录服务系统1

马士振 白立新 张海春 郭士军 林向东 白永福

(北京市地震局,北京 100080)

为提高测震台网地震目录数据的服务水平,构建了基于Django框架的可视化地震目录服务系统。该系统以Django框架为基础,在前端工具包Bootstrap的管理下,通过Highcharts图形库和高德地图实现了地震目录的可视化服务,为地震目录的对外服务提供了一种较为高效便捷的途径。

Django 地震目录 服务系统

引言

测震台网的一项重要服务内容是提供地震目录数据。在较大地震发生后,尤其需要测震台网在较短时间内对外提供地震序列目录数据的服务。多年以来,测震台网主要通过以下几种形式对外提供地震目录数据服务:①文本格式的地震目录数据;②使用MSDP软件或EQIM软件产出的单点或多点震中分布图;③使用专业地震分析预报软件对地震目录数据进行加工处理后提供的图件;④通过全国地震编目网站提供的地震目录数据或震中分布图截图。上述服务虽然提供了丰富的内容,但需要通过对多个软件或网页进行操作才能实现地震目录数据的获取或数据的图像化,用户操作不方便,时效性差,服务效率较低。

在数据图像化方面,地震前兆数据在应用服务上做了一些有益的尝试,如通过JpGraph绘图类库实现了数据的可视化(李刚等,2013)。这种应用基于浏览器/服务器结构,以图件的形式表现地震前兆数据,扩大了受众面,提高了前兆数据服务于行业、政府和社会公众的能力。

随着Web技术的发展和软件工程的日益成熟,传统的Web框架如Struts、Spring、.NET等由于其复杂性很难满足人们的要求,于是逐渐出现了一些敏捷性的Web框架(王冉阳,2008),如Django、Flask等。Django是使用Python开发的优秀Web框架,作为一款开源的敏捷开发框架,受到人们越来越多的关注。使用Django框架,可以节省开发周期,并且便于维护和升级。当前Django已广泛应用于博客系统(杨志庆,2013)、资源共享平台建设(程文芳等,2013)、数据库快速查询(齐金刚等,2014)等系统的开发工作中。

1 系统构成与系统响应流程

为了提高北京市测震台网地震目录数据的服务效率,快速实现地震目录数据的图像化,笔者在Django框架的基础上,结合多种实用工具,开发了可视化的地震目录服务系统。

1.1 系统构成

地震目录服务系统以Django框架为基础,在实现过程中应用了Bootstrap、Highcharts、高德地图等优秀的工具包,实现了一站式的地震目录服务。该系统采用浏览器/服务器结构,提供了地震目录列表、震中分布图、-图、震级分段统计图等四项服务内容,并且实现了对上述列表、图件的自动刷新功能(见图1)。

1.2 系统响应流程

当收到来自用户浏览器的页面请求时,Django使用正则表达式在URL映射文件中对请求的页面地址进行匹配。当URL映射文件中有匹配的URL-pattern时,Django将用户的请求发送给该URL-pattern对应的视图函数,由视图函数对用户的请求进行处理。

当视图函数需要访问数据库时,Django通过内置的MySQL适配器访问JOPENS数据库。对于JOPENS数据库的返回数据,Django将其加载到与用户请求相对应的模板页面上,再返回给用户的浏览器。至此,系统完成了对用户请求的响应处理。

为了更好地服务用户,在编写本系统的模板页面时,采用Bootstrap规划了网页的页面结构,美化了页面的展示元素。此外,在Bootstrap的管理下,引进Highcharts和高德地图两种工具,实现了地震目录数据的图像化展示。

2 系统主要功能

地震目录服务系统的主体功能分为两大模块:“今日地震”模块和“历史地震”模块。其中,每个模块下又细分为地震目录列表、震中分布图、-图和震级分段统计图4个子模块。上述模块满足了外界对测震台网的三个主要需求:①某一地震的具体信息,即地震三要素信息;②符合某种特征的地震事件的统计信息,如地震序列情况等;③地震目录数据的图像化(见图2)。

“今日地震”与“历史地震”两大模块的功能基本一致,其主要区别为:①从JOPENS数据库中获取的地震目录数据的起止时间;②自动刷新页面,“今日地震”模块仅从JOPENS数据库中获取当日的地震目录数据,并针对地震序列数据的服务需求实现了页面的自动刷新功能;而“历史地震”模块则根据用户的查询条件从数据库中获取符合条件的数据进行处理,其子模块不具有页面的自动刷新功能。除了以上两点区别,两个大模块的其它功能完全一致。因此,以下主要介绍“今日地震”模块的功能。

2.1“地震目录列表”子模块

当用户点击“地震目录列表”按钮时,系统自动从JOPENS数据库获取当日地震目录数据。在对数据格式进行规范化后,该数据以文本的形式展现在网页上,满足了用户快速获取地震三要素信息的需求。

2.2“震中分布图”子模块

在本模块中,通过在模板文件中加载高德地图接口,把地震信息提交到地图上,震中就可以根据地震的经纬度数据显示在地图上。当鼠标滑过震中标记时,系统可以给出该地震的有关信息。此外,借助高德地图提供的工具,实现了震中距的量取功能和地图缩放功能等。该模块满足了用户将数字形式的震中位置转换为地图形式的震中位置的需求。

2.3“-图”子模块

在本模块中,通过在模板文件中加载Highcharts图表库,把从JOPENS数据库中获取的当日地震目录数据以-图的形式展现出来,解决了在大地震发生后,快速产出-图的问题。

2.4 “震级分段统计图”子模块

在本模块中,既可以获得震级分段统计的数据,又可以获得根据统计数据绘制的图件,实现了地震目录统计数据和图件的快速产出。

图3为该系统的可视化地震目录服务页面展示。

(1)地震目录列表页面

(2)-图页面

(3)震中分布图页面

3 应用情况与讨论

测震台网在日常工作及地震应急处置工作中,产出了大量观测数据及处理结果。通过地震目录服务系统提供的一站式服务,可以将地震目录数据更为高效、便捷地展现出来。因此,该系统在一定程度上摆脱了地震目录数据产品对客户端软件的依赖。自测试运行以来,该系统在2014年9月6日河北涿鹿S4.3级地震和“十一”震情保障工作中均发挥了积极的作用。另外,由于该系统采用浏览器/服务器结构,只需升级服务器端程序,即可实现展示界面的变化,展示内容的改进和扩容可使系统更好地服务于地震监测、地震应急等工作。

致谢:本项工作得到了北京市测震台网的大力支持,在此表示衷心的感谢!

程文芳,张洁,夏明一,张北辰,2013.极地标本资源共享平台系统设计与实现. 极地研究,25(2):185—196.

胡海勇,2011.基于WEB的GPS监控系统设计与实现. 浙江:浙江工业大学信息工程学院,8—10.

李刚,姚会琴,李悦,宋军,周立霞,王晓磊,杨奕,刘磊,丁晶,2013. JpGraph绘图类库在地震数据展示中的应用.震灾防御技术,8(2):209—215.

齐金刚,李滔,李晋军,2014.Django框架Web数据查询分页技术研究. 电子设计工程,22(5):33—37.

王冉阳,2008.基于Django和Python的Web开发. 电脑编程技术与维护,2(23):56—58.

杨志庆,2013.基于Django的Blog系统的开发与实现. 机电一体化,9:69—72.

The Visualizing System of Earthquake Catalogue Service under Django Framework

Ma Shizhen, Bai Lixin, Zhang Haichun, Guo Shijun, Lin Xiangdong and Bai Yongfu

(Earthquake Administration of Beijing, Beijing 100080, China)

A visualizing system of earthquake catalogue service was created under Django framework to improve the service level of seismic network. In the system earthquake catalogue is visualized with Highcharts and Gaode map on web pages that were managed by Bootstrap. This system provides a relatively high efficient and convenient way for the earthquake catalogue exhibition service.

Django; Earthquake catalog; Service system

北京市地震局资助

2014-08-10

马士振,男,生于1976年。工程师,主要从事地震监测工作。E-mail:szmacn@bjseis.gov.cn

猜你喜欢
测震台网页面
刷新生活的页面
保健医苑(2022年1期)2022-08-30 08:39:14
基于信号精度分析的高速铁路沿线测震井地震动力反应研究
钟祥台测震观测质量影响浅析
科技研究(2021年6期)2021-09-10 07:22:44
地球物理台网仪器维修信息管理的研究与实现
地震研究(2021年1期)2021-04-13 01:05:30
推进报台网深度融合 做强区级融媒体中心
传媒评论(2018年10期)2019-01-17 01:33:16
辽宁流动测震观测系统现状分析
西藏地震应急流动台网浅析
西藏科技(2016年9期)2016-09-26 12:21:39
MRG9000媒资卫士在市级电视台全台网的应用
基于网络技术的测震系统在市县地震部门的应用
华南地震(2012年2期)2012-09-11 02:19:20
同一Word文档 纵横页面并存