基于微信平台气象灾情收集系统的设计开发

2019-01-02 10:47杨妍辰姜皓严李明聪
天津科技 2018年12期
关键词:信息员灾情后台

杨妍辰,姜皓严,李明聪

(天津市东丽区气象局 天津300300)

0 引 言

近年来天津地区暴雨、冰雹、雷电、大风等气象灾害呈增多趋势,给社会经济发展和人民生命财产带来严重威胁。灾害发生后,气象灾情收集工作便成了政府救灾部门及时了解受灾情况、紧急部署救灾任务的重要保障;在组织防灾、减灾、救灾的决策中,对气象灾害信息准确度的要求越来越高[1]。目前灾情收集上报工作所面临的最大难点是灾情数据报送迟滞,因时效性影响了气象信息瞬息变化的准确性。另外,实地调查收集气象灾情的能力不足[1],灾情的收集很大程度上依赖于基层气象信息员对灾情信息的上报,所以设计开发一种适用于基层气象信息员的便捷手机灾情直报系统是很有必要的。

随着新媒体移动互联网时代的飞速发展,微信已经逐渐渗入人们的日常生活,也正在成为各级政府和有关部门开展公共服务和社会管理的重要途径。多地气象部门也开始利用微信推进发展多元化的气象服务,微信成为了天气预报、预警信息等气象服务信息发布和传播的重要渠道[2-9]。谢坤等[10]对比了微信和微博等不同新媒体气象服务手段的传播效果,认为微信适合在重大天气前推送消息,准确及时,送达率高。杨玫等[11]指出,微信作为实名认证平台,能保证其用户的真实性和对公众号粉丝的可控性。王建嫱等[12]、许琼芳等[13]、邓小良等[14]对微信公众号在预报预警发布、实时气象要素展示、旅游气象等不同气象服务方向起到的作用进行了许多探索,但对微信在灾情调查上报方面的应用仍较少有人涉足。因此,在移动互联网飞速发展的今天,有必要实现通过微信平台开展东丽区灾情收集上报工作,实现灾情及时有效的收集传递,有利于提高气象灾害防灾、减灾、救灾的服务效果。

1 主要研究内容

天津市东丽区气象局于2013年建立官方微信公众号,目前有 1万余关注用户,微信公众号不仅可以向用户群发布文本、声音、图像、视频等信息,同时也可以实现用户快速录入灾情信息、拍摄反馈实景灾情图片及地理位置信息等功能。东丽区气象灾情收集系统旨在研究利用微信公众平台收集气象灾情的技术,并建立存储灾情信息的数据库及灾情信息管理后台,设计实现适用于气象信息员手机端的灾情上报系统,使灾情上报和收集工作实现及时化、自动化、便捷化,也使信息处理和保存更为规范,其主要研究内容包括:①微信公众平台灾情收集上报功能的设计与实现;②灾情信息存储数据库的建立;③灾情信息、信息员用户信息管理后台的开发。

2 平台构架分析

2.1 平台技术概述

手机端气象灾情收集上报模块搭建于微信公众平台东丽区气象局官方公众号,该模块利用 JS-SDK接口接入微信公众平台。信息员通过该模块上报气象灾情信息,上报的灾情信息及信息员用户信息通过PHP页面上传至已建好的MySQL数据库表单,上传采用HTML5及Java语言设计实现。利用HTML5网页开发技术完成信息管理后台的建立,实现灾情信息及信息员用户信息的读取与管理。东丽区气象灾情收集系统架构见图1。

2.2 灾情收集上报模块架构

气象灾情收集上报模块主要包含用户管理和灾情录入 2项功能。用户管理功能针对灾情信息上报人员的身份信息进行审核与认证,保证灾情信息的可靠性;灾情录入功能为灾情上报主体部分,信息员可通过简洁明了的界面完成灾情录入与上报。设计实现在单一友好界面内完成所有操作项目,录入方式包括点选下拉列表、内容输入框以及动作执行按钮3种交互方式。

图1 东丽区气象灾情收集系统架构Fig.1 Architecture of meteorological disaster collection system of Dongli District

2.2.1 用户管理设计

用户管理子模块主要用于灾情信息上报人员的身份信息认证。灾情上报工作主要由气象信息员、气象应急联络员、气象志愿者完成,对于已经备案的信息员、应急联络员等用户的信息可由气象部门根据所辖区域各街道进行统一规划编制,并于该系统的信息管理后台进行录入和审核;而针对自主申请的气象志愿者,考虑到灾情信息是政府决策所需的重要信息资料,需对该类用户进行实名认证,在提供相关证明资料后,才可被认证为有效账户并接纳其提供的灾情信息。

用户管理子模块要完成用户信息登记,包括用户名、用户照片、所在区域、联系电话等。利用用户分组接口、设置用户备注名接口等管理各类上报人员的身份信息。

2.2.2 灾情录入设计

灾情录入子模块包含以下 5个部分:灾情类别、灾情发生地点、灾情发生时间、灾情照片、灾情描述。灾情类别根据国家灾情直报系统对灾情类别的划分并结合天津地区具体情况进行梳理分类,采用点选下拉列表形式进行选择,灾情类别包括:暴雨、大风、雷电、冰雹、台风、干旱、大雾、霾、道路结冰、沙尘暴、高温。灾害发生的时间默认为当前时刻,也可通过点选下拉列表进行选择。灾情发生地点信息利用获取地理位置接口(wx.getLocation)实现收集,灾情发生地点也可通过用户填写完成,分为两级:第一级为固定区划的各个街道,可通过点选下拉列表选择;第二级为详细地址,通过用户输入将灾情发生的地点精细化。当普通微信用户(FromUserName)向公众账号(ToUserName)发消息时,微信服务器将 POST消息的 XML数据包推送至开发者填写的 URL上,并利用微信 JS-SDK网页开发工具包中的拍照功能或从手机相册中选图接口(wx.chooseImage)、上传图片接口(wx.uploadImage)实现灾情图片的收集。灾情描述部分主要包含人员伤亡、财产损失、灾情影响,通过点选下拉列表和输入填写内容完成。操作界面见图2。

图2 灾情信息录入操作界面Fig.2 Operation interface of disaster information input

2.3 灾情信息管理后台及数据存储

通过互联网搭建灾情信息管理后台,该平台可完成数据库信息的读取,包括信息员用户信息及通过微信上传的灾情信息,实现信息员管理、灾情上报信息管理、管理员用户设置等功能。

2.3.1 灾情信息管理后台的搭建

灾情信息管理后台主要用于气象工作人员掌握信息员用户信息及其上报的灾情信息。后台主要包含3个模块:信息员管理、上报信息管理、管理员。信息员管理模块包含信息员列表、新增信息员、信息员审核3个部分,信息员列表可以查看已通过审核的信息员信息。新增信息员页面如图3,可以实现新用户的录入和审核,上报信息管理模块包含灾情上报信息和实况天气信息;灾情上报信息页面如图4,可以查看灾情的详细信息包括灾情的实况照片,实况天气信息主要指信息员上传的非灾害性天气实况。气象局工作人员在收到最新灾情信息后,可通过电话联系气象信息员或派工作人员前往受灾地点进行灾情调查,对灾情信息进一步审核及确认。管理员模块主要实现气象局工作人员对该平台的管理。

图3 灾情信息管理后台新增信息员界面Fig.3 Adding user information interface in management background

图4 灾情信息管理后台灾情上报信息界面Fig.4 Reporting disaster information interface in management background

后台用户登录核心代码如下:

require("../config.php");

session_start();

if(isset($_POST['password']))

{

$name=trim($_POST['name']);

$password=trim($_POST['password']);

$strSql="select * from ".$table_admin."

where name='".$name."' and pwd='".$password."'";

$result=mysql_query($strSql,$myconn);

while($row = mysql_fetch_array($result))

{

$_SESSION['name']=$row['name'];

$_SESSION['pwd']=$row['pwd'];

$home_url = 'messenger_list.php';

header('Location:'.$home_url);

die();

}

echo "<script>alert('密码不正确,请检查!');</script>";

}

else

{

if(isset($_SESSION['name'])&& $_SESSION['name']!="")

{

header('Location:messenger_list.php');

die();

}

}

2.3.2 数据库存储

本地数据库用于存储通过微信公众平台JS-SDK接口上报的灾情信息、上报信息员的 ID信息、上报ID的经纬度,通过 PHP页面上传至已经创建好的MySQL数据库表单。MySQL数据库表单包括信息员用户表单和灾情信息存储表单,每一条灾情信息与信息员用户表单中的某一信息员数据相关联,实现灾情信息与上传信息用户相关联。

数据库核心代码如下:

<title>建立数据库</title>

$my_connect = mysql_connect($dbhost,$dbuser,$dbpwd); //连接数据库

if($my_connect) //判断是否已经连接上

$sql="CREATE TABLE ".$table_realtime."(

ID int NOT NULL AUTO_INCREMENT,

PRIMARY KEY(ID),

didian varchar(200)NOT NULL,

shijian varchar(30)NOT NULL,

miaoshu varchar(2000)NOT NULL,

tupian varchar(20)NOT NULL,

reporter_id varchar(30)NOT NULL,

isdelete bool DEFAULT false

)";

3 结 语

东丽区基于微信平台的气象灾情收集系统已正式运行,实现了全区各街道气象协理员、气象信息员用户的录入预审核,2016、2017年汛期气象信息员通过该系统上报气象灾情信息 50余条,包含了暴雨、大风、冰雹等灾情。系统实现了灾情收集和上报工作及时化、自动化、便捷化,也使灾情信息处理和保存规范化。东丽区气象局将进一步开发,不断丰富基于微信公众平台的气象服务内容,完善灾情收集功能,促进气象现代化建设与发展,提升东丽区气象防灾减灾救灾应对能力。

猜你喜欢
信息员灾情后台
盐城市夯实灾害灾情管理基础
Wu Fenghua:Yueju Opera Artist
A dataset of Ya’an Earthquake based on social media
关于如何开展高校信息员工作的设想
徐州市铜山区出台《食品安全协管员信息员管理办法》
“灾情”
后台暗恋
徐州市铜山区出台《食品安全协管员信息员管理办法》
互联网思维下的汽车服务连锁后台支撑系统
后台的风景