王国闻 臧烨祺 吴升杰 郭永刚
(西藏农牧学院,西藏 林芝 860000)
大坝强震监测分析技术随着计算机技术及网络通信技术的发展,各种数学理论与方法的完善,不再是简单的记录获取、简单的谱分析技术。它是一个包含地质学、水工结构、结构动力学、数学、电子技术、计算机等多学科交叉融合的应用技术。与传统的水电工程安全监测手段相比,大坝强震监测在安全方面有其独特的优势,强震监测为实时监测,能够第一时间发现大坝异常,为震后救灾工作、验证大坝安全性及抗震结构设计合理性提供帮助。目前,我国对于大坝抗震监测以及相关数据的处理虽在不断发展,但还是据西方国家有不小的差距,特别是在西藏地区。由于西藏地区发展水平的限制,目前仍处于起步阶段,但西藏水资源丰富,拥有相当数量的大坝,而西藏地震带众多,因此,大坝强震监测系统对于西藏来说是十分需要且迫切需要的,本系统采用B/S 结构,与传统C/S 结构开发的强震监测系统相比具有升级简单、表现方法多样、跨平台性、维护开销小等优点。同时,结合WebGIS 技术方便科研人员对震源机制、传播途径等深入研究及管理人员准确定位监测点、监测台站等地理信息。
由于B/S 架构具有总体拥有成本低、维护简单、开发简单、跨平台、无需安装,可以通过浏览器软件随时随地的进行业务操作。由于客户端采用浏览器软件,故无需维护服务端软件。同时,系统的扩展非常容易,只需要修改服务端代码就可以实现系统更新扩展。基于以上优势,采用B/S 架构构建强震监测分析系统。总体结构包括Web 客户端、服务端、数据存储端、采集端四部分构成。
1.1.1 Web 客户端。Web 客户端又称用户端,与服务端向对应,提供用户交互界面,处理少量的事务逻辑,同时将服务器响应的各种Web 资源以图表、图像等形式呈现给用户。本系统采用Arc GIS API for JavaScript、html、jquery、JavaScript 等开发客户端界面,以google 浏览器为界面展示浏览器,发送请求到服务器并将服务器的返回结果进行展示。
1.1.2 服务端。服务端是一种针对性的服务程序,为客户端提供数据资源、处理业务逻辑、数据加工等服务。同时,服务程序需要托管到服务器管理软件中,目前较为流行的网络服务器管理软件包括Apache、IIS、Nginx 等,由于本系统采用微软的Visual Studio作为开发平台,因此本系统采用微软IIS 作为网络服务器管理软件托管本系统服务程序,以及使用ArcGIS Server 提供各种地理信息服务[3]。
1.1.3 数据存储端。数据存储是将数据通过特定的数据格式记录到计算机硬盘或外部特定的存储介质中。数据存储服务是通过网络将多个终端产生的数据进行集中存储,具有保证数据存储共享性、节省磁盘成本等特点。本系统采用MySQL 数据库与MongoDB数据库相结合,MySQL 存放设备信息、台站信息、文件信息、警报信息、用户信息等数据存储对象。MongoDB 存储管理监测数据。MySQL 是关系型数据库管理系统中最具代表性的数据管理系统,将数据根据关系分类保放在不同的表中,能提高数据存取效率及操作的灵活性,在Web 应用方面MySQL 应用较为广泛。MongoDB 一个基于分布式文件存储的数据库,介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json 的bson 格式,因此可以存储比较复杂的数据类型。
1.1.4 采集端。数据采集,又称数据获取,是利用传感器获取数据,并将数据输入到系统内部的一个接口。随着通信技术及计算机技术的发展,数据采集技术被应用在社会的各个领域。采集得到的数据是各种物理量转换后的电信号,可以是模拟量,也可以是数字量。采集方式是隔一定时间(称采样周期)对同一点数据重复采集。采集的数据是瞬时值,也可是某段时间内的一个特征值。准确的数据测量是数据采集的基础。数据量测方法有接触式和非接触式,检测元件多种多样。本系统采用接触式量测方法,将传感器放在监测点,采集震动数据。将采集的数据传输到上位机,由上位机进行简单处理后上传到服务器。采集端数据拾取方式分为3 种,触发式数据拾取、定时数据拾取及实时数据拾取。触发式数据拾取是当地震来临时及时采集数据并上传;定时数据拾取是为采集日常数据;实时数据拾取是为检测设备工作状态及采集当前时间下的数据。
基于WebGIS 技术构建的大坝强震监测分析系统整体框架主要分为客户端、服务端、数据存储端以及采集端,具体如图1,客户端主要是用户使用的终端,目前本系统用户主要通过web 浏览器实现对系统的操作,应用服务器端是系统开发的核心,主要承担对前端和后台数据的交互、业务逻辑处理、数据处理分析功能,数据存储主要是对系统的多种数据进行存储,采集端为系统提供基础数据保证[1]。
图1 系统整体结构图
系统功能模块包括地图功能模块、台站特征模块、实时检测模块、报警模块、文件管理模块、数据处理分析模块、系统管理模块,并且每个功能模块又包含多个子模块,以便于完成系统的多种操作,使系统具有编辑、分析、查询、监测等多种功能[6],具体如图2 所示。
图2 系统结构功能图
本系统开发过程中运用了多种目前的计算机前沿技术,其中包括采用微软提供的ASP.NET 框架,运用HTML、CSS、JavaScript、JQuery、Bootstrap 构建前端界面,通过ArcGIS API for JavaScript 加载ArcGIS Server 及天地图中地图、要素等数据实现在线显示。以C#作为后台开发语言、Visual Studio 2019 为开发平台开发后端应用程序,MySQL、MongoDB 作为本系统的数据库,采用EntityFramework 进行数据库连接。
ASP.NET 是微软提供用于开发web 应用程序的一整套的解决方案,包括验证、缓存、状态管理、调试和部署等全部功能。将界面逻辑与业务逻辑分开,简化界面代码编写,业务逻辑代码结构清晰,简化数据库连接及业务操作[2]。
JQuery 使一种快速、简洁的JavaScript 框架,它将JavaScript 常用功能方法封装,提供了一种便捷的JavaScript 开发模式,具有高效灵活的样式、id、标签选择器极大简化了界面交互逻辑的实现,同时JQuery兼容各种主流浏览器。
Bootstrap 为前端界面设计提供一系列整洁、优美的前端组件、css样式,集成HTML、CSS、Java Script等技术。
由ESRI 开发的一组用于调用ArcGIS Server REST API 接口的JavaScript 脚本,提供CDN 与NPM 两种JavaScript 引用模式,本系统采用CDN 引用模式。
本模块地图包括场址区地质构造分布及地震带划分图层、潜在震源区域图层、潜在震源区历史地震分布图层、场区烈度分布图层、库区地质构造及断层分布图层、行政区划及交通图层,这些地图图层由ArcGIS Server 及天地图提供。本系统采用ArcGIS API for JavaScript 为以上图层提供选取、缩放、查询、浏览、编辑、添加要素信息功能。
3.1.1 空间数据编辑。空间数据编辑包括创建新的要素数据、修改删除已存在的要素数据,是空间数据维护加工的基本环节,同时是WebGIS 二次开发的基本功能。本系统的空间数据编辑是对监测点、台站点、库区等要素信息的添加、删除、修改,保证空间数据的正确性、实时性。
3.1.2 专题信息查询。根据测点名称、台站名称、库区名称等条件查询特定区域并放大。
3.1.3 图层信息管理。为方便科学研究、震后救灾工作等,本系统使用不同的图层。图层信息管理主要实现对图层的添加、删除功能。
为提高工作人员工作效率,精确定位到监测点、设备等信息,采用树状结构管理信息。以台站为根节点,下属节点分别为设备节点及监测点节点,设备节点设置下属传感器节点及通道信息节点。
3.2.1 设备子模块。设备子模块是为保障快速实时掌握设备信息,及时有效整合设备资源和提高设备使用效率,保障高效处理设备问题设立的。
3.2.1.1 设备信息管理。该功能是为了完成仪器设备现代化信息管理,具有设备信息高度集成、灵活性强、分配使用便捷、设备利用高效等优势。设备信息管理主要实现功能包括设备基本信息的编辑功能、设备状态查询及设备开关机操作。
3.2.1.2 设备参数配置。强震监测设备需要设定特定参数实现自动监测报警功能,其中包括采样参数的配置,配置采样频率、量程范围、采样通道、触发通道等参数;触发设置用设置触发方式、阈值、长短时间窗等参数[5];任务配置用于设置触发日期、触发时刻等信息;报警参数配置最大安全加速度、最小危害加速度,最大安全加速度是通过水工建筑物按抗震计算求得,最小危害加速度是通过抗震设计参数计算求得的相应测点能抵御的最大加速度;网络参数设置与设备通信的服务器相关参数包括IP 地址、端口号。
3.2.1.3 设备通道信息显示。一台强震监测设备具有多个通道,设备通过通道与传感器连接获取数据。根据设备发送的配置信息,将通道信息显示在用户界面。并且,当设备端对通道信息进行修改时实时更新数据库中通道信息。
3.2.1.4 下属传感器信息显示。强震传感器是用来监测采集震动信息的装置。由于一台设备具有多个传感器,为方便传感器的信息管理,设立传感器信息显示功能,显示设备下属传感器型号、厂家、类型等信息。同时,为避免传感器发生故障后需要人工检查,减少人工成本,添加传感器状态实时显示。
3.2.2 监测点管理。监测点是用于观察震动来临时位移、加速度等物理量变化的观测点,监测点管理主要实现编辑监测点的位置、高程、经纬度信息等功能。
通过点击地图中监测点或设备点要素,以波形的形式实时显示该点采集到的数据。在显示波形时提供数据保存、波形冻结功能。根据设定的阈值由设备自主判断是否发生警报信息,报警信息会实时显示在地图相应的监测点上,用户可以在地图中点击出现感叹号的监测点查看相关警报信息并处理;同时用户可以查询历史警报信息。
文件管理主要用于管理数据文件位置信息、文件名、文件下载。而数据源分析模块是在系统接受需要处理的数据时可以进行以下操作:
3.4.1 文件查询功能。通过文件名、台站名、日期等条件联合查询得到满足要求的文件。
3.4.2 处理分析功能。将文件数据加载后进行单位换算、错点剔除、基线校正、滤波处理预处理工作;将预处理后数据分别进行积分处理、谱分析、统计分析、灾害评估;分析报告下载。
3.4.2.1 单位换算。由于采集设备采集到的数据一般为电压值,而水工抗震分析一般需要使用加速度。因此,需要对采集到的数据进行单位换算,换算方式为电压值乘以标定系数得到的就是加速度值。
3.4.2.2 错点剔除。由于外界信号干扰等原因,会出现一些突出的奇异点,这些奇异点会使之后的数据分析结果出现极大偏差,故本系统采用格拉布斯去除奇异点。
3.4.2.3 基线校正。由于地震振动是上下左右振动,因此产生的加速度是在零值(基线)上下振动。但是,由于设备存在低频噪声、低频环境噪声等原因会造成基线偏移现象,故使用零漂校正或直线趋势校正进行基线校正。
3.4.2.4 滤波处理。由于水工建筑在未发生地震时以低频振动为主,而需要监测的振动数据以高频为主,因此需要对数据进行低频滤波。
3.4.2.5 积分处理。通过对预处理后的数据进行一次、二次积分可以得到振动的速度及位移。
3.4.2.6 谱分析。获取傅里叶谱、功率谱、反应谱。
3.4.2.7 统计分析。统计振动时长、最大幅值等信息。
3.4.2.8 灾害评估。更具以上分析得到的数据对大坝进行灾害评估,评价大坝在灾后安全程度。
本系统采用微软ASP.NET 框架结合ArcGIS API for JavaScript,讨论实现基于WebGIS 的大坝强震监测分析系统。该系统平台实现对强震数据的实时获取,并进行数据分析自动化,最后生成分析报表。本系统具有模块化、易维护、跨平台等多种优越性,为大坝强震监测分析提供新的实现方案和技术参考。