郭红梅 赵 真 张 莹
(四川省地震局,成都 610041)
关键字:建筑物信息 微信公众平台 采集系统 地震
据国内外历次大地震统计,因建筑物坍塌或严重损毁造成人员伤亡的比例占90%—95%(张京,2014)。地震发生后,快速准确地评估地震造成的建筑物破坏和人员伤亡等灾害损失是科学快速制定应急处置方案的前提(王晓青等,2009;韩贞辉等,2013)。地震发生前,对地震可能造成的建筑物破坏和人员伤亡风险进行评估,掌握建筑物抗震薄弱环节并制定科学合理的震害防御策略,可以有效降低地震灾害带来的人员伤亡和经济损失(唐丽华等,2016;孙龙飞,2016)。无论是震前地震灾害风险评估工作还是震后灾情快速评估,都离不开地震应急基础数据库的支持。其中建筑物数据是地震应急基础数据库中最重要的数据之一,建筑物数据的完备性和准确性,直接决定了震前灾害风险评估和震后灾情快速评估结果的可靠性。
Sahar 等(2010)指出地震灾害风险评估的准确性与评估对象数据的完备性具有紧密联系。在实际建筑物信息数据采集过程中,基于单体建筑物的信息采集工作量大且耗时。因此,如何构建一个高效的建筑物信息采集方法是目前研究的重点。徐柳华等(2012)提出了基于iPad 终端的移动野外数据采集系统。陈小芳等(2014)基于Android 系统开发了移动终端的建筑物基本信息采集系统,有效提高了建筑物采集效率。龙立等(2016)开发了基于Android的建筑物信息采集系统,成功采集了西安市灞桥区某街道的建筑物数据。庄晓东等(2016)利用移动GIS 技术,设计并开发了基于iPad 终端外业调绘系统,成功运用于青岛市崂山区和成阳区。现有的建筑物信息采集系统大多基于Android 或者IOS 系统,存在每种操作系统都需要独立开发,兼容性差的问题。
微信是腾讯公司推出的一款为智能手机提供即时通讯服务的免费应用程序,支持跨通讯平台、跨操作系统平台通过网络发送文字、图片、音频和视频。微信公众平台是在微信平台的基础上增加的功能模块,任何组织和个人可以通过开放的API 接口开发自己的第三方服务平台,无需针对不同的操作系统进行独立开发。目前,地震系统应用微信公众开发平台的研究主要集中在地震信息实时发布、地震科普知识、地震灾情信息发布等方面,对微信应用于建筑物信息采集方面的研究较为缺乏。综上所述,本文提出一种基于微信公众平台的建筑物信息采集系统,可以克服移动终端应用程序与操作系统兼容性差的问题,从而为地震灾害风险评估和地震应急工作提供可靠的数据支撑。
传统模式下的建筑物外业采集工作是通过调查人员手拿纸制地图去现场实地调研走访,将信息记录到表格中,之后将表格中的建筑物信息录入到Excel 表中,通过建筑物唯一标识字段将建筑物空间数据与属性数据关联入库,该方式操作繁琐,耗时耗力,时效性低,且人工录入环节易出错。为提高建筑物数据采集工作的效率,减少人为因素造成的错误,现已开发基于传统软件+移动端模式的建筑物外业采集系统,基本思路是利用移动端进行现场采集,将采集的数据发送至桌面端,最后将其保存到数据库服务器中。虽然该方法明显提高了建筑物数据采集的速度和质量,但移动终端的应用程序需与操作系统匹配,不同操作系统需单独开发。同时,该系统互动性差开发成本较高,开发的应用程序主要面向专业技术人员设计,推广性不强。为满足不同操作系统手机用户使用需求,且保证数据采集的效率和质量,开发了基于微信公众号的建筑物信息采集系统,克服了移动终端应用程序与操作系统兼容性差的问题,且微信具有应用范围广、互动性强、成本低等显著特点,有利于系统的应用推广,基于微信公众号的建筑采集系统具体的数据采集流程如图1 所示。
图1 基于微信公众号的数据采集流程 Fig.1 Data acquisition process based on WeChat public number
基于微信公众平台的建筑物信息采集系统总体逻辑结构可以划分成三层,即支撑层、逻辑处理层以及应用层,如图2 所示。支撑层包括数据支撑与服务支撑层,数据支撑层包括天地图数据库和房屋数据库,为地理公共服务平台(天地图)中的地图展示提供数据支持,服务支撑层涵盖天地图服务器、微信服务器及公网服务器,为数据采集系统平台和地理公共服务平台提供服务支持。逻辑处理层包括两个平台,其中地理公共服务平台(天地图)提供地图叠加显示、查询等功能接口,数据采集系统平台通过接口对接,实现查询、定位等功能,同时根据微信服务器提供的服务和天地图提供的地图叠加展示,提供方便、快捷的房屋信息现场采集工具,并将采集的数据保存到房屋数据库中。应用层包括手机端和电脑端,能满足在不同条件下数据的高效采集。
图2 基于微信公众平台的建筑物信息采集系统逻辑结构 Fig.2 Logical structure of Building information collection system based on WeChat public platform
基于微信公众号的建筑物信息采集系统包括数据采集、在线审核以及查看采集状态三大功能,如图3 所示。微信平台提供了基础功能,如菜单、菜单的点击事件、消息回复等,业务功能由后台自主研发,如地图页面、数据表单等。客户端系统的用户权限统一由后台系统管理设置,不同的用户对应不同的功能,用户角色分为微信普通用户角色、微信专业用户角色以及微信公众号管理员角色,初始关注公众号并注册的用户自动归为普通用户角色,仅拥有查看数据的权限,无法进行任何操作,专业用户角色具有数据采集并提交的权限,管理员角色具有数据采集、在线审核以及查看采集状态所有功能的权限。
(1)数据采集模块
图3 系统功能 Fig.3 System functions
用户进入数据采集功能时,通过系统内置的“天地图”底图与建筑物面数据可直观查看建筑物的采集状态,建筑物数据的状态可分为紫色未采集、蓝色已录入、橘色已提交、绿色审核通过、红色审核不通过,利用定位功能定位到当前位置,点击地图上未采集的建筑物面数据进入采集表单,对相关信息进行录入。本文在归纳总结四川地区建筑物结构特点的基础上,对建筑物采集内容进行了规范化设计,主要包括建筑物位置信息、属性信息及其他三大类。其中位置信息涵盖经纬度、详细地址以及所属行政区划;属性信息包括建筑物名称、结构类型、用途、层数、建筑年代、设防标准、平/立面规整、房屋现状、是否废弃等信息;其他信息主要指建筑物的正面、侧面、立面的照片、备注等,具体采集字段和取值如表1 所示。将信息录入提交后,系统会将录入的信息上传至后台数据库。
表1 建筑物信息采集内容 Table1 Information collected for buildings
(2)在线审核模块
在线审核提供建筑物数据的审核功能,微信公众号管理员用户通过核查建筑物录入的详细信息和提交的建筑物照片,检查建筑物信息录入的完整性及准确性,审核通过后数据进入后续分析应用审核不通过则给出不通过的原因,便于指导数据修正。
(3)查看采集状态模块
采集状态查看功能模块提供“未采集”、“已录入”、“已提交”、“审核通过”或者“审核不通过”等状态信息,并提供统计分析。
数据采集是建筑物信息采集系统中的核心功能,采集过程中各服务器端口根据业务需求提供相应的服务,根据系统的逻辑架构和功能,设计其业务流程如图4 所示。
微信用户关注公众号后,以HTTP 形式实现与微信服务器的信息交互,微信网页通过微信服务器授权的机制获取用户的基本信息,并与数据采集服务器上的用户信息进行绑定,从而实现对用户数据采集权限设置等管理,微信公众号监听用户公众号的操作行为,并实现网页功能的跳转。相应地数据采集服务器通过调用微信平台相关接口,实现更新公众号底部菜单以及推送公众号信息。当专业用户或者管理员进入数据采集界面时,天地图服务器为其提供地图服务,数据采集服务器为其提供网页服务、数据采集服务以及建筑物数据服务,选中未采集建筑物进入数据采集界面,用户通过微信网页形式填报建筑物属性数据,结合微信JS-SDK 开发包提供的拍照、定位等微信功能完善建筑物属性数据采集的功能需求。用户填报完后保存或提交数据,提交的图片通过微信多媒体文件上传接口直接上传至微信服务 器并返回多媒体文件唯一标识符,提交的表单数据和其他结构化数据通过JSON 数据格式POST 提交到数据采集服务器,系统接收到新采集的数据后,通过分析、检验后存入到数据采集服务器端的房屋数据库中,并生成更新记录,同步在地图中可视化展示。
图4 数据采集业务流程 Fig.4 Data collection business process
本系统采用B/S 系统架构,借助Eclipse 集成开发环境,使用JAVA 开发语言定制开发,实现基于微信公众平台的建筑物信息采集系统。系统采用MySQL57 数据库进行数据存储,利用MySQL 数据库自带的空间数据分析引擎进行空间数据的存储与分析;网页端则调用四川天地图REST 服务接口进行地图的展示,采用OpenLyaer4.1.1JS库进行地图的操作与建筑物要素信息的叠加等;系统集成了微信公众号二次开发库,以HTTP 形式实现与微信服务器的信息交互,如微信用户信息获取,公众号菜单创建等;系统部署于1 台操作系统为Windows Server 2008 R2 Standard Service Pack1 的公网服务器,使用tomcat 作为WEB 容器进行服务发布。同时,对于信息数据的安全性、保密性问题,基于微信公众号的建筑信息采集系统目前只能保证数据没有经过第三方服务器,即数据传输与微信平台无关,是直接与数据库服务器进行交互的。故采集数据信息的安全性、完整性和保密性能得到较好的控制。
通过微信二维码扫一扫或者手动搜索关注建筑物信息采集公众号,图5 为基于微信公众平台的建筑物信息采集系统的菜单界面。绑定用户信息后即可浏览地图和建筑物数据,鉴于不同用户的权限不同,为展示所有的功能,将用户角色设置成管理员权限,即可以体验在线采集、在线审核和采集状态查看所有功能。
图5 公众号菜单界面 Fig.5 Menu interface of public number
(1)在线采集模块
通过点击采集状态为未采集的建筑物,进入建筑物信息界面,完成对建筑物信息的采集,模块界面如图6 所示。
图6 数据采集模块界面 Fig. 6 Interface of data acquisition module
(2)在线审核模块
实现对已提交建筑物信息的审核,质检人员选择审核通过或者不通过,如果选择审核不通过,则弹出对话框,将审核不通过的原因进行备注,以便采集人员修改,模块界面如图7 所示。
图7 在线审核模块界面 Fig.7 Interface of online audit module
(3)采集状态模块
实现对采集、未采集、已提交、审核通过或者审核不通过5 种建筑物采集状态的建筑物属性信息进行查询浏览,模块界面、查询内容如图8 所示。
图8 采集状态模块界面 Fig.8 Interface of acquisition status module
采用本系统对宝兴县建筑物信息进行采集,通过县防震减灾局技术人员分别对各乡镇防震减灾助理员、灾情上报人员进行现场的专业培训。通过培训让其关注并注册微信公众号,使其进一步掌握系统的使用、操作方法。通过系统培训后在全县开展数据采集工作,将各乡镇建筑物的建筑年代、建筑结构、用途、抗震设防等级、建筑物层数等基础信息全部采集到数据库中,共采集5576 栋建筑物耗时20d,采集效率较传统填写纸质表格的方式得到明显提高。采集结束后,专家组通过抽样调查的方式核查采集成果,检验发现采集结果基本准确,说明采集成果具有高度的可靠性。最后,以专题图的形式展示宝兴县局部地区的建筑结构以及用途,如图9 所示。
本文在考虑到现有建筑物信息采集系统均为移动端单独开发的应用程序,存在操作系统兼容性差等问题,提出利用微信公众平台支持跨操作系统的优势,设计并实现了基于微信公众平台的建筑物信息采集系统,并在宝兴县建筑物调查进行了应用。实践表明,该系统操作界面友好,操作方便简单易上手,采集效率较传统模式具有较大的提升,且能有效的保证数据精度,具有较强的实用性,可以为地震灾害风险评估和地震应急工作提供可靠的基础数据支持。
图9 宝兴县建筑物专题图 Fig.9 Thematic map of buildings in Baoxing County
目前,该系统专注于建筑物信息采集,尚未提供相关服务以及用户之间的交流互动功能。虽能获取到精细的建筑物属性信息,但仍需要组织专门的人员来采集,不能发动最广大的群众自发地上报房屋信息。在今后的工作中,可以扩展地震灾害风险在线评估等功能,在用户主动上报建筑物信息后可以提供回馈式的服务,从而提高社会公众主动上报的积极性,以利于大面积铺开房屋建筑物信息的采集。