楊妍辰,姜皓嚴,李明聰
(天津市東麗區(qū)氣象局 天津300300)
近年來天津地區(qū)暴雨、冰雹、雷電、大風等氣象災害呈增多趨勢,給社會經(jīng)濟發(fā)展和人民生命財產(chǎn)帶來嚴重威脅。災害發(fā)生后,氣象災情收集工作便成了政府救災部門及時了解受災情況、緊急部署救災任務的重要保障;在組織防災、減災、救災的決策中,對氣象災害信息準確度的要求越來越高[1]。目前災情收集上報工作所面臨的最大難點是災情數(shù)據(jù)報送遲滯,因時效性影響了氣象信息瞬息變化的準確性。另外,實地調(diào)查收集氣象災情的能力不足[1],災情的收集很大程度上依賴于基層氣象信息員對災情信息的上報,所以設計開發(fā)一種適用于基層氣象信息員的便捷手機災情直報系統(tǒng)是很有必要的。
隨著新媒體移動互聯(lián)網(wǎng)時代的飛速發(fā)展,微信已經(jīng)逐漸滲入人們的日常生活,也正在成為各級政府和有關部門開展公共服務和社會管理的重要途徑。多地氣象部門也開始利用微信推進發(fā)展多元化的氣象服務,微信成為了天氣預報、預警信息等氣象服務信息發(fā)布和傳播的重要渠道[2-9]。謝坤等[10]對比了微信和微博等不同新媒體氣象服務手段的傳播效果,認為微信適合在重大天氣前推送消息,準確及時,送達率高。楊玫等[11]指出,微信作為實名認證平臺,能保證其用戶的真實性和對公眾號粉絲的可控性。王建嬙等[12]、許瓊芳等[13]、鄧小良等[14]對微信公眾號在預報預警發(fā)布、實時氣象要素展示、旅游氣象等不同氣象服務方向起到的作用進行了許多探索,但對微信在災情調(diào)查上報方面的應用仍較少有人涉足。因此,在移動互聯(lián)網(wǎng)飛速發(fā)展的今天,有必要實現(xiàn)通過微信平臺開展東麗區(qū)災情收集上報工作,實現(xiàn)災情及時有效的收集傳遞,有利于提高氣象災害防災、減災、救災的服務效果。
天津市東麗區(qū)氣象局于2013年建立官方微信公眾號,目前有 1萬余關注用戶,微信公眾號不僅可以向用戶群發(fā)布文本、聲音、圖像、視頻等信息,同時也可以實現(xiàn)用戶快速錄入災情信息、拍攝反饋實景災情圖片及地理位置信息等功能。東麗區(qū)氣象災情收集系統(tǒng)旨在研究利用微信公眾平臺收集氣象災情的技術,并建立存儲災情信息的數(shù)據(jù)庫及災情信息管理后臺,設計實現(xiàn)適用于氣象信息員手機端的災情上報系統(tǒng),使災情上報和收集工作實現(xiàn)及時化、自動化、便捷化,也使信息處理和保存更為規(guī)范,其主要研究內(nèi)容包括:①微信公眾平臺災情收集上報功能的設計與實現(xiàn);②災情信息存儲數(shù)據(jù)庫的建立;③災情信息、信息員用戶信息管理后臺的開發(fā)。
手機端氣象災情收集上報模塊搭建于微信公眾平臺東麗區(qū)氣象局官方公眾號,該模塊利用 JS-SDK接口接入微信公眾平臺。信息員通過該模塊上報氣象災情信息,上報的災情信息及信息員用戶信息通過PHP頁面上傳至已建好的MySQL數(shù)據(jù)庫表單,上傳采用HTML5及Java語言設計實現(xiàn)。利用HTML5網(wǎng)頁開發(fā)技術完成信息管理后臺的建立,實現(xiàn)災情信息及信息員用戶信息的讀取與管理。東麗區(qū)氣象災情收集系統(tǒng)架構見圖1。
氣象災情收集上報模塊主要包含用戶管理和災情錄入 2項功能。用戶管理功能針對災情信息上報人員的身份信息進行審核與認證,保證災情信息的可靠性;災情錄入功能為災情上報主體部分,信息員可通過簡潔明了的界面完成災情錄入與上報。設計實現(xiàn)在單一友好界面內(nèi)完成所有操作項目,錄入方式包括點選下拉列表、內(nèi)容輸入框以及動作執(zhí)行按鈕3種交互方式。
圖1 東麗區(qū)氣象災情收集系統(tǒng)架構Fig.1 Architecture of meteorological disaster collection system of Dongli District
2.2.1 用戶管理設計
用戶管理子模塊主要用于災情信息上報人員的身份信息認證。災情上報工作主要由氣象信息員、氣象應急聯(lián)絡員、氣象志愿者完成,對于已經(jīng)備案的信息員、應急聯(lián)絡員等用戶的信息可由氣象部門根據(jù)所轄區(qū)域各街道進行統(tǒng)一規(guī)劃編制,并于該系統(tǒng)的信息管理后臺進行錄入和審核;而針對自主申請的氣象志愿者,考慮到災情信息是政府決策所需的重要信息資料,需對該類用戶進行實名認證,在提供相關證明資料后,才可被認證為有效賬戶并接納其提供的災情信息。
用戶管理子模塊要完成用戶信息登記,包括用戶名、用戶照片、所在區(qū)域、聯(lián)系電話等。利用用戶分組接口、設置用戶備注名接口等管理各類上報人員的身份信息。
2.2.2 災情錄入設計
災情錄入子模塊包含以下 5個部分:災情類別、災情發(fā)生地點、災情發(fā)生時間、災情照片、災情描述。災情類別根據(jù)國家災情直報系統(tǒng)對災情類別的劃分并結合天津地區(qū)具體情況進行梳理分類,采用點選下拉列表形式進行選擇,災情類別包括:暴雨、大風、雷電、冰雹、臺風、干旱、大霧、霾、道路結冰、沙塵暴、高溫。災害發(fā)生的時間默認為當前時刻,也可通過點選下拉列表進行選擇。災情發(fā)生地點信息利用獲取地理位置接口(wx.getLocation)實現(xiàn)收集,災情發(fā)生地點也可通過用戶填寫完成,分為兩級:第一級為固定區(qū)劃的各個街道,可通過點選下拉列表選擇;第二級為詳細地址,通過用戶輸入將災情發(fā)生的地點精細化。當普通微信用戶(FromUserName)向公眾賬號(ToUserName)發(fā)消息時,微信服務器將 POST消息的 XML數(shù)據(jù)包推送至開發(fā)者填寫的 URL上,并利用微信 JS-SDK網(wǎng)頁開發(fā)工具包中的拍照功能或從手機相冊中選圖接口(wx.chooseImage)、上傳圖片接口(wx.uploadImage)實現(xiàn)災情圖片的收集。災情描述部分主要包含人員傷亡、財產(chǎn)損失、災情影響,通過點選下拉列表和輸入填寫內(nèi)容完成。操作界面見圖2。
圖2 災情信息錄入操作界面Fig.2 Operation interface of disaster information input
通過互聯(lián)網(wǎng)搭建災情信息管理后臺,該平臺可完成數(shù)據(jù)庫信息的讀取,包括信息員用戶信息及通過微信上傳的災情信息,實現(xiàn)信息員管理、災情上報信息管理、管理員用戶設置等功能。
2.3.1 災情信息管理后臺的搭建
災情信息管理后臺主要用于氣象工作人員掌握信息員用戶信息及其上報的災情信息。后臺主要包含3個模塊:信息員管理、上報信息管理、管理員。信息員管理模塊包含信息員列表、新增信息員、信息員審核3個部分,信息員列表可以查看已通過審核的信息員信息。新增信息員頁面如圖3,可以實現(xiàn)新用戶的錄入和審核,上報信息管理模塊包含災情上報信息和實況天氣信息;災情上報信息頁面如圖4,可以查看災情的詳細信息包括災情的實況照片,實況天氣信息主要指信息員上傳的非災害性天氣實況。氣象局工作人員在收到最新災情信息后,可通過電話聯(lián)系氣象信息員或派工作人員前往受災地點進行災情調(diào)查,對災情信息進一步審核及確認。管理員模塊主要實現(xiàn)氣象局工作人員對該平臺的管理。
圖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 數(shù)據(jù)庫存儲
本地數(shù)據(jù)庫用于存儲通過微信公眾平臺JS-SDK接口上報的災情信息、上報信息員的 ID信息、上報ID的經(jīng)緯度,通過 PHP頁面上傳至已經(jīng)創(chuàng)建好的MySQL數(shù)據(jù)庫表單。MySQL數(shù)據(jù)庫表單包括信息員用戶表單和災情信息存儲表單,每一條災情信息與信息員用戶表單中的某一信息員數(shù)據(jù)相關聯(lián),實現(xiàn)災情信息與上傳信息用戶相關聯(lián)。
數(shù)據(jù)庫核心代碼如下:
<title>建立數(shù)據(jù)庫</title>
$my_connect = mysql_connect($dbhost,$dbuser,$dbpwd); //連接數(shù)據(jù)庫
if($my_connect) //判斷是否已經(jīng)連接上
$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
)";
東麗區(qū)基于微信平臺的氣象災情收集系統(tǒng)已正式運行,實現(xiàn)了全區(qū)各街道氣象協(xié)理員、氣象信息員用戶的錄入預審核,2016、2017年汛期氣象信息員通過該系統(tǒng)上報氣象災情信息 50余條,包含了暴雨、大風、冰雹等災情。系統(tǒng)實現(xiàn)了災情收集和上報工作及時化、自動化、便捷化,也使災情信息處理和保存規(guī)范化。東麗區(qū)氣象局將進一步開發(fā),不斷豐富基于微信公眾平臺的氣象服務內(nèi)容,完善災情收集功能,促進氣象現(xiàn)代化建設與發(fā)展,提升東麗區(qū)氣象防災減災救災應對能力。