王 时 李永庆 董一兵 赵灵军
1) 石家庄地震监测中心站,河北石家庄 050021
2) 河北省地震局,河北石家庄 050021
3) 河北经贸大学,河北石家庄 050061
4) 中国科学院空天信息创新研究院,北京 100094
地震目录是按照时间顺序,对地震参数进行收录和编目所形成的资料,是开展地震活动性研究的基础数据[1]。地震目录通常包括:发震时刻、震中位置、震源深度、震级等参数,而地震活动性研究的重要内容是分析这些参数在空间和时间维度上的分布特征[2-4]。在地震活动性研究过程中,数据可视化是经常采用的一种辅助技术。该技术利用图表的形式表达参数的分布,有助于增强数据的可读性和表现力。在研究地震在空间维度的分布特征时,经常需要绘制地震分布图,包括地震震中在水平方向上的分布及震源深度在垂直方向上的分布。从地震分布图上,可以直观地看到地震发生的位置;当地震较多、形成序列时,还可以观察地震序列的整体分布特征,形成对地震分布规律的初步认识。空间维度的地震可视化技术应用十分广泛,常被地震监测部门用于发布地震目录,例如,美国地质调查局(United States Geological Survey,USGS)的earthquake map 项目通过WebGIS 平台实时发布全球M4.0 以上、美国M2.5 以上地震目录,并提供了开放的Web 接口(https://earthquake.usgs.gov/earthquakes/map),支持全球用户共享访问。地震活动性研究还关注地震参数随时间变化的特征[5-7],这就需要对地震参数进行时间维度上的可视化。一些传统的数据分析软件也提供了对地震活动性可视化分析的工具,例如,基于首都圈防震减灾示范工程项目开发的地震分析预报系统MapSeis,北京震创软件技术有限公司开发的测震学综合应用软件系统SuperSeis,这些软件功能强大且专业性强。但是,这类软件大多仍在使用单机模式,存在一些明显的弊端,比如:用户的数据资源彼此隔离,形成信息孤岛;系统和数据的维护难度大,版本更新困难等[8]。Internet 的高速发展,使得WebGIS 逐步替代了传统的GIS 系统,并慢慢地渗透进人们的日常生活。WebGIS 的地理和地形构造信息方便了科研工作人员的使用,丰富的各类社会信息图层、简单易操作的友好界面使得WebGIS 开发的软件成为了一个向大众展示和传播信息的优秀平台,也成为一个更客观方便的决策平台。WebGIS 系统在防震减灾工作中具有无可比拟的优势。无论是在震害预测信息服务平台上的开发还是在数字防震减灾系统上的研究都有不同程度的应用,但是在地震活动性分析中的应用尚少。基于上述分析,现代化的地震活动性分析平台,应当同时支持空间和时间维度的地震参数可视化分析,并提供良好的交互性、易用性、可维护性和可扩展性。
地震可视化分析工具首先应支持地震目录的空间可视化,而WebGIS 技术为这种需求提供了完整的解决方案[9-10]。开源WebGIS 是源代码开放的WebGIS平台,与商业平台相比具有低成本、可定制、跨平台的特点[11-12]。GeoServer 是目前应用广泛的开源WebGIS服务器,通过整合流行的GeoTools 中间件,提供了遵循OGC 开放标准的WMS、WFS、WCS 及WFS-T规范[13]。OpenLayers 是经常与GeoServer配合使用的WebGIS 前端开发技术,除了支持OGC相关规范以外,还提供了矢量数据渲染、地图分幅和预读取等重要功能,可有效提升客户端浏览体验[14]。近年来,基于GeoServer 和OpenLayers 的行业应用软件大量涌现[15-18],该开发技术的可靠性已经得到了充分的验证。鉴于此,我们拟以它们为基础,结合JavaScript脚本语言,构建地震活动性分析平台,支持地震参数的空间可视化与时间序列可视化分析方法,并提供基于Web 的人机交互接口,为地震活动性研究提供软件工具。
地震活动性分析平台应具备下列基本功能:
(1)地震空间分析:实现地震、断层以及多种地理要素的空间可视化和交互式属性查询,提供对图层进行配置、控制、选区和测量的接口;
(2)地震时序分析:支持多种地震参数时间序列分析方法,提供交互式分析接口,支持结果图件矢量化输出。
系统应满足下列性能需求:
(1)开放性:整套WebGIS 平台和开发平台都选用源代码开放的产品,系统采用分布式架构,各功能模块高内距、低耦合,各模块之间的接口均符合行业规范,增强了系统的可扩展性;
(2)健壮性:在输入错误、文件读取故障、网络过载等情况下,有相应的异常捕获和处理机制,避免系统的崩溃;
(3) 并发性:并发用户数量≥50 个;
(4)时效性:系统单次响应最大时间≤10 s;海量数据平均单次查询时间≤10 s;
(5)易用性:提供友好的图形用户界面。在界面设计方面,使系统界面尽量友好、简洁、易用;在查询手段方面,采取多方式、多参数方法实现图形属性信息互查,尽量满足不同用户的不同查询需求;在地图操作方面,可随时调阅地形图、道路图等,可任意分层、叠加显示及生成各种专业图;
(6)兼容性:支持常用Web 浏览器。
根据需求,地震活动性分析平台应提供两类服务,WebGIS 服务和Web 服务。WebGIS 服务负责处理与空间计算有关的业务请求,如地震和断层的展示、震中距的计算、多边形选区的判定等;Web 服务则处理一般请求,如数据库查询、数值计算等。这两类服务的内容不同,但工作原理是一致的,即均基于Web 服务的请求-响应模型[19-22],因此,可以将WebGIS 作为Web 服务的空间功能扩展,实现两类服务的集成。基于此,我们参考传统Web 应用架构设计了本系统的3 层结构,自下而上分别是数据层、服务层和接口层(图1)。通过在各层次上扩展空间数据管理功能,实现Web 与WebGIS 业务的综合集成。在数据层,采用关系型数据库PostgreSQL 及其空间扩展PostGIS,用PostgreSQL 管理二维表数据,用PostGIS 管理空间数据,如断层、政区、道路等;在服务层,将Web 服务和WebGIS 服务统一部署到Web 容器Apache Tomcat 中;在接口层,使用JavaScript语言提供动态网页服务,使用OpenLayers 访问Web-GIS 服务。
图1 系统的体系结构Fig.1 System structure
WebGIS 是系统的关键服务,用户的各种空间数据操作都要依托WebGIS 平台完成。搭建WebGIS 平台的流程是:在数据层,安装数据库PostgreSQL 及空间扩展PostGIS,创建数据库、数据表,导入数据;在服务层,安装、配置WebGIS 服务器GeoServer,将空间数据以WMS 和WFS 格式发布;在接口层,利用OpenLayers 调用WMS 和WFS 图层。
在数据层,PostGIS 支持多种几何类型,包括:点(POINT)、线(LINESTRING)、多边形(POLYGON)、多点(MULTIPOINT)、多线(MULTILINESTRING)、多多边形(MULTIPOLYGON)以及由这些类型组成的几何集。在PostGIS 中,每个图层都单独保存为一张表,每张表存储一种特定的空间元素。表1 介绍了当前数据库中一些几何字段的信息,其中,地震(earthquake)采用POINT 类型;断层(faults)采用MULTILINESTRING 类型;省(province)、市(city)、县(county)政区均采用MULTIPOLYGON 类型。空间系统的取值 “EPSG:4 326” 对应国际通用标准 “WGS84”(EPSG,欧洲石油勘探组织)。
表1 几何字段说明Table 1 Description of the geometry field
在服务层,用Apache Tomcat 容器装载GeoServer,通过配置GeoServer 可以将PostGIS 数据源发布为WMS 和WFS 格式的数据,并使用GeoServer 提供的OpenLayers 视图对发布结果进行预览,例如,我们通过GeoServer 对断层数据进行了发布,发布结果预览如图2 所示。
图2 通过GeoServer 发布和预览断层数据Fig.2 Faults data published and previewed by GeoServer
在客户端,我们使用OpenLayers 处理空间数据操作请求,使用HTML 和JavaScript 处理一般数据操作请求,并向用户提供统一的Web 接口。系统对于目前常用的Web 浏览器(如IE 11,EDGE,Google Chrome 等)均有良好的兼容性,用户可以通过浏览器直接访问系统主页。系统主页的布局如图3 所示,页面中部是底图区域,图上显示了最近入库的一条M2.2 地震的震中位置;页面两侧和顶部提供了一些功能选项,其中,左右两侧分别是 “地震目录” 和“图层控制” 菜单,顶部右侧图标可以链接到其他页面。为了适应用户的个性化需求,系统定义了几类图层,分为:①底图,包括:天地图、天地图遥感影像、地形图等,效果见图4 和图5;② 基础图层,包括:铁路、高速公路、湖泊、河流等;③测震图层,与地震监测有关的图层,包括:地震目录、震源机制解、全国断层等;④ 行政区划,包括:全国省界、河北市界、河北县界等。用户可以在 “图层控制” 菜单进行选择,被选中的图层将叠加显示在底图上,例如,选择地形图、全国断层、河北市界。
图3 地震空间分析系统主页Fig.3 Home page of seismic spatial analysis system
图4 地形底图Fig.4 Topographic base map
图5 遥感影像底图Fig.5 Remote sensing image base map
系统提供了地震目录快捷检索功能。“地震目录” 菜单中提供的检索条件包括:地震目录、时间范围、震级范围、深度范围、空间范围等。其中,空间范围对地震震中位置进行约束,提供了矩形、多边形、圆形、经纬度和震中距等选区控件,用户可以直接在底图上绘制选区。例如,用户需要从全国正式报目录中检索2018 年1 月1 日—12 月31 日,MS1.0 以上,石家庄、邢台附近的地震,可按图6a 设置检索条件,然后单击 “显示检索结果” 。系统将列表显示检索结果,并在底图上显示震中分布。在图上单击地震球,将弹窗显示该地震的基本参数(图6b)。
图6 地震检索Fig.6 Earthquake retrieving
系统还提供了断层参数查询和3D 模拟功能(图7)。启用断层图层后,在图上单击断层线,系统将弹窗显示该断层的基本参数,包括:断层名称、性质、长度、走向、倾向、倾角、最新活动时代等。为了使用户更直观地了解断层的产状,系统提供了断层的3D 模拟视图,通过单击 “显示3D 效果” 按钮,即可弹出3D 断层窗口,其中,蓝、红、绿线代表坐标轴,蓝线箭头指向地理的北方。断层的形态是根据断层的实际参数:性质(正断层、逆断层、走滑断层)、走向和倾角,采用three.js 技术实时渲染而成,反映了断层在地壳内的真实展布状态。
图7 断层3D 模拟Fig.7 3D model of faults
系统提供了多种常用的地震时序分析方法,包括:M-t、△t-t、频次、lgN-M、b值、缺震、应变能释放等。通过主页上的 “时序分析” 图标可链接至时序分析页面。页面布局与空间分析相似,中部为底图区域,用于显示地震;左侧为条件区域,用于设置分析方法和计算参数。例如,用户要对京津冀地区2018 年MS1.0 以上地震做M-t分析,可按图8a 设置分析条件,然后单击 “显示分析结果” 。系统将弹窗显示M-t图,该图支持人机交互,从图上选中某次地震,将弹窗显示该地震的基本参数(图8b)。M-t图描述了震级(M)与时间(t)的关系,是地震活动性研究最常用的图表之一。除了M-t方法之外,系统还支持多种分析方法,图8c 和图8d 展示了对同一数据集使用不同方法进行分析的结果对比。从图8d 可以看出,时序分析模块也支持基于WebGIS 的空间可视化分析。因此,利用本系统,用户可以在时空两个维度上同时开展地震活动性研究;同时,大量交互式分析接口的设计,增强了系统的易用性,也有助于用户工作效率的提高。
图8 地震时序分析Fig.8 Seismic time-series analysis
基于用户第一的原则,考虑不同用户在细节上的关注点不同,测试组选择不同专业背景、不同工作岗位的30 名用户对本系统的软件界面友好性、操作流畅性、功能完备性进行了测试。用户经过实际操作,反馈结果为页面结构符合操作习惯,操作步骤简单,不必查看使用手册就能流畅的进行操作。用户体验测试结果表明,本系统无须安装客户端程序、无须复杂的配置,使用通用的Web 浏览器即可访问系统服务的方式,降低了系统的使用门槛,增强了易用性,能让用户快速的接受和使用,系统的交互、设计合理。
本文对地震活动性分析软件的需求进行了分析,认为现代化的分析平台应当同时支持空间和时间维度的地震参数可视化分析,并提供良好的交互性、易用性、可维护性和可扩展性。针对这种现实需求,我们研制了基于开源WebGIS 的地震活动性分析软件。
设计了系统的体系结构,通过为传统Web 应用分层结构的各层次扩展空间数据管理功能,实现了Web 服务与WebGIS 服务的综合集成。开发过程中,我们在数据层采用关系型数据库PostgreSQL 及其空间扩展PostGIS;在服务层,将Web 服务和WebGIS服务统一部署到Web 容器Apache Tomcat 中;在接口层,使用JavaScript 与OpenLayers 技术。
系统支持对地震进行空间和时间维度的分析,实现了地震、断层、政区等多种地理要素的空间可视化;利用WebGL 技术实现了断层的3D 模拟;支持多种地震参数时间序列分析方法;提供对图层进行配置、控制、选区和测量的功能接口;提供了丰富的交互式属性查询接口。
用户体验测试结果显示,系统能让用户快速接受和使用,系统的交互、设计合理。