方 韡 杨 婕 张艺峰 闫 培 许仪西
1)厦门地震勘测研究中心,厦门 361021
2)福建省地震局厦门地震台,厦门 361003
福建省流动地震观测手段主要包括:206个流动重力观测网;95个流动地磁观测网;16个流动GPS台站;22个跨断层水准观测网;6964km长水准观测网;2个跨断层综合观测场地。其地震监测覆盖范围面大,至今已运行了30多年,积累了大量的基础观测数据,在防震减灾三大工作体系中发挥着重要的作用。通过多年的不断建设,福建省已形成了覆盖全省大范围的地震流动监测台网体系,基本满足了福建及周边地区地震监测的需要,对地震科学基础研究起到了积极的作用。
然而,流动台站管理作为地震监测预报管理的一项重要内容,目前还没有一套有效、高效、便捷的信息系统,大量繁杂的基础信息被分散保存,查询检索极为不便。因此,设计一套集台站信息、测项信息、地理信息、人员信息等为主要内容的信息系统已成为当前一项十分重要的工作。
本文利用JOOMLA CMS系统、Google MAP API、MySQL数据库等开源软件,采用B/S结构快速搭建的福建省流动地震观测台网信息系统,通过建立流动地震台站基础数据库,开发了流动地震台站信息系统网络软件,可实时响应网内用户对台站基础信息的查询与检索。同时通过Web GIS技术可实现不同类型流动地震台网分布图的显示,还可以利用JOOMLA强大的后台数据库备份功能定期有效进行备份,起到保护基础信息数据库的作用。
目前在Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这4个软件都是遵循GPL的开放源码软件,因此使用这种方式不用购买任何软件系统就可以建立起一个稳定、免费的网站系统。因条件限制,本系统开发使用 WAMP(Windows+Apache+MySQL+PHP)架构方式(王志刚,2010)。
WebGIS是Web技术应用于GIS开发的产物。利用Web技术在网络上发布地理信息,就能从Internet的任意一个节点浏览WebGIS服务器中的空间数据,制作专题图和进行各种空间检索及空间分析,这就为地理信息的开放和共享提供了切实可行的技术。WebGIS有利于信息共享,并易于实现数据分布式管理。国际上在开源WebGIS方面已有多种软件平台,主要包括:Deegree、OpenMap、GeoServer、GeoTools、uDig、MapBuilder、GRASS、MapGuide、MapServer等。所有这些开源软件平台大都遵循 GPL或 LGPL授权协议,不仅可以兼容ESRIshapefile、Mapinfo、Oracle等商业软件的数据格式,同时也提供了针对MySQL、PostGlS等开源软件的可靠接口。本系统选用MapServer为地图应用服务器(侯建民等,2008)。
JOOMLA是一套在国外相当知名的内容管理系统(Content Management System, CMS),它的最大特点就是能快速实现根据中小企业自身特点建站,JOOMLA使用 PHP语言加上MySQL数据库所开发的软件系统,可以在Linux、Windows、MacOSX等各种不同的平台上执行。目前它是由Open Source Matters(www.opensourcematters.org)这个开放源码组织进行开发与支持,这个组织的成员来自全世界各地,小组成员约有150人,包含了开发者、设计者、系统管理者、文件撰写者,以及超过2万名的参与会员(陈红飞等,2009)。
借助Google Map自身强大的地理信息支持(如:交通背景、地形地貌、卫星地图等功能),可实现对流动地震台网信息系统的漫游、缩放、采用鸟瞰图显示全省监测网点、快速定位测点、动态浏览测点详细信息、根据比例尺显示等浏览功能(胡秀敏等,2011;刘军等,2011)。
本系统的主体架构为 B/S,数据库和应用程序代码均安装于服务器端,便于集中管理。服务器端为PHP+Apache+MySQL+Google Map API,图1为系统框架图。
图1 开发环境流程结构图Fig.1 Flow chart of software developing environment
根据各种观测手段基础台网信息数据库设计,主要包括:流动重力、流动地磁、流动水准、流动GPS等。表1以流动地磁观测手段为例。
表1 数据库结构(以流动地磁观测为例)(国家地震局,1986)Table 1 Structure of database (an example of mobile geomagnetic observation)
基于 JOOMLA开源软件的福建省流动地震前兆台网信息系统的开发实现了地震台站基础信息的网络共享,为台站管理人员提供了查询与检索服务。系统按流动地震观测手段分别将台站属性分为4大模块:流动重力台网、流动地磁台网、流动GPS台网、流动水准台网,以上模块都设有信息查询及空间数据地图显示功能。由于系统部署在福建省地震行业网,任何网内用户都可以直接浏览查询相关信息,因此设有用户登录、后台管理模块,以方便管理人员对系统数据库的维护管理。系统框图如图2所示。
系统的功能主要包括以下几个方面:
(1)各类流动观测台网基础信息的查询功能:在各类台网模块都可进行台站基础信息的查询。用户可按条件查询台站的测项信息、仪器信息、人员信息、地理属性等各种基础数据。
(2)各类流动观测台网分布的基础地图操作功能:设计了该类台网的分布图显示。通过Web浏览器,用户可以浏览福建省各类流动观测台网分布图,并通过放大、缩小、漫游等基本操作查看地理地图基本信息。
(3)数据库在线维护功能:用户可以通过系统链接到 phpMyAdmin工具在线维护 MySQL数据库。
图2 系统框架图Fig.2 Framework of the system
福建省流动地震台网基础信息库实现的关键技术在于引用了JOOMLA中的Fabric组件,该组件可以实现快速自定义数据库并以表单方式展现出来。下面以福建省流动地磁观测台网为例简述基础信息数据库实现的方法。
(1)Fabric技术后台基础信息数据库的实现
Fabrik是一款针对JOOMLA的“应用构建”组件,其中一项常用的功能就是进行表单设计及数据库设计,可以高效生成自定义数据库系统(图3)。
图3 Fabrik数据库生成示意图Fig.3 Fabrik database generator
(2)流动地磁台网基础信息数据的查询
通过Fabrik组件快速生成流动地磁台网基础信息数据库后,由于它是以MYSQL数据库查询语言编写的,所以通过Select语句集可以自定义各种关键字段的查询与条件判断,达到各种数据结构的查询(图4)(中国地震局监测预报司,2003)。
图4 流动地磁台网基础信息数据查询示意Fig.4 Results of basic information query on portable earthquake precursory network
构建福建省流动前兆台网WebGIS空间数据库的关键是获取Google Map Key。下面以福建省地震局流动地磁观测台网分布图的绘制模块为例,简述系统实现的方法。
(1)申请一組Google Maps API Key
这里介绍如何利用Google Maps API把Google提供的地图服务内嵌到网页中。
申请步骤如下:
①登录Google Maps API Key申请页面
http://code.google.com/apis/maps/signup.html;
②将核取控件打勾,并将欲申请Google Mass API的网址填入
例如:http://my-web-design.blogspot.com/;
③按“Generate API Key”取得Key
最后分别会出现3个方块:(a)你取得的Key;(b)你指定的URL;(c)一个范例。
范例中会有如下的片段:
其中粗体的部分就是你的Google地图的Key。
(2)置放Google地图Key到组件中
通过上一步可把刚刚申请到的Google Maps API Key置放入GmapFP组件中,如图5所示。其中矩形框就是用户填写的Google Maps API Key位置,输入相关区域经纬度,就可以在自己的站点中发布Google Map地图了。
图5 GmapFP GoogleMap Key参数设置示意图Fig.5 Setting up GmapFP GoogleMap Key parameters
(3)在JOOMLA平台上安装GmapFP组件
如何在JOOMLA中安装GmapFP组件,可按以下步骤实现:
①首先到JOOMLA官方网站下载GmapFP for joomla1.5组件;
②点击JOOMLA后台Extensions菜单中的Install/Unisstall子菜单,即可进行GmapFP组件的安装;
③安装完成后即可在JOOMLA后台组件菜单中出现GmapFP功能菜单,如图6所示。
图6 GmapFP组件安装示意图Fig.6 GmapFP component installation
(4)流动地磁观测台网运行实例
通上以上方法获取到Google map API Key后,采用GmapFP组件对全省流动地磁观测台网站点经纬度进行展布,就可得到如图7所示的全省流动地磁台网展布图。
如果想继续搜索所关心台站的信息情况,可在搜索栏输入台站信息,即可得到该台站的具体信息情况,并可将查询出来的流动台网详细信息快速生成固定格式的文件打印出来(图8)。
Akeeba backup是JOOMA平台中的一个备份组件,可以通过它来备份你的网站文件和数据库,它可以把你的网站文件和数据库做成一个压缩包,还可以在这个压缩包中嵌入一个安装包。当你的网站完全崩溃时,你可直接去使用它,而 Akeeba的备份文件去安装和恢复你的网站都非常的方便。你可通过组件中的立即备份功能,即可快速备份网站数据库。
图7 流动地磁台网测点展布示意图Fig.7 Location of portable observation sites
图8 流动地磁台网测点信息查询示意图Fig.8 Information search system for portable observation sites
通过JOOMLA平台的应用,能够快速高效的搭建基于WebGIS的流动地震台网信息系统,有效地解决了传统流动地震台网信息数据的归档、保存和查阅,只需一个浏览器,打开即可显示,并借助Google Map强大的地理信息做背景,快速生成动态的台网信息,实现了流动地震台网信息动态快速查询,有利于监测网点数据信息集中保存与备份,便于流动监测测点的快速动态浏览与查询,提高了地震工作人员的工作效率,适于在整个地震行业内推广。
陈红飞,2009. PHP内容管理系统:Joomla快速建站指南. 北京:电子工业出版社,15—56.
国家地震局,1986. 地震地磁野外测量规范. 北京:地震出版社,12—20.
胡秀敏,柴荣建,2011. 一种基于Google Maps的地震信息节点显示地震震中的模式. 华南地震,31(1):104—109.
侯建民,刘瑞丰,赵京铁等,2008. 基于WebGIS地震目录数据发布系统研究. 地震地磁观测与研究,29(2):106—111.
刘军,陈贵美,2011. Google地图应用之广东省地区JOPENS地震速报系统. 华南地震,31(3):41—49.
王志刚,2010. PHP5应用实例详解、使用. 北京:电子工业出版社,101—138.
中国地震局监测预报司,2003. 地壳形变数字观测技术. 北京:地震出版社,36—36.