安艷艷,張滌卉,董莉
(1.漳衛南運河管理局水文處,山東德州253009;2.漳衛南運河管理局德州水利水電工程集團有限公司,山東德州253009;3.海河水利委員會科技咨詢中心,天津300170)
移動APP在水文查詢工作中的應用
安艷艷1,張滌卉2,董莉3
(1.漳衛南運河管理局水文處,山東德州253009;2.漳衛南運河管理局德州水利水電工程集團有限公司,山東德州253009;3.海河水利委員會科技咨詢中心,天津300170)
隨著智能無線技術的發展,筆記本電腦、手機、平板電腦等支持Wifi的移動終端逐漸走入人們的生活,移動服務成為人們獲取信息的一個更加便捷的途徑,基于物聯網、大數據、云平臺的互聯網+的核心技術飛速發展,水利信息化也隨之進入一個全新階段。但是,從目前來說,大多數水文查詢系統是通過計算機終端實現的,需要用戶通過PC端才能訪問,缺乏靈活性。為了讓有關領導、業務相關部門及人員及時了解水雨情等水文信息,迅速做出工作部署,移動水文查詢系統應運而生。
水文查詢系統依托無線移動網絡、互聯網和多媒體技術,使用戶不受時間、地點、空間的限制,實現隨時隨地獲取水雨情、氣象信息以及其它相關資料,可服務于各級水利部門,具有重要的實用價值。
下面,以基于Android平臺開發的漳衛南運河水文查詢系統為例進行闡述。
Web Service是一種構建應用程序的普遍模型,可以在任何支持網絡通信的操作系統中運行。它邏輯性地為其它應用程序提供數據與服務,各應用程序通過網絡協議和規定的一些標準數據格式(如Http、XML、Soap)來訪問Web Service,通過Web Ser?vice內部執行得到所需結果。這里使用Apache CXF開發Web Service服務端和客戶端,通過程序代碼實現客戶端對服務端的調用。對于移動終端等設備而言,其計算資源、存儲資源都十分有限。因此,An?droid應用只是充當Web Service的客戶端,是調用遠程Web Service的服務端[1]。
App客戶端調用了百度地圖API。百度地圖API是為開發者免費提供的一套基于百度地圖服務的應用接口,包括Java Script API、Web服務API、定位SDK等多種開發工具與服務,提供基本地圖展現、搜索、定位、LBS云存儲與檢索等功能[2]。
開發者首先要完成SDK配置,就可以在應用中調用百度地圖API的相關服務。如,可以利用Mapview類來調取服務器端的地圖數據,地圖頁面生成后,就可以在底圖上添加相應的圖標,如水文站位置的顯示。Icon類是添加覆蓋物,默認圖標為紅色圓點,可通過圖片路徑更改顯示圖片及大小,圖像標注用Marker類創建。關鍵代碼如下:
var point=new BMap.Point(經度,緯度);
var my Icon=new BMap.Icon(“圖片路徑”,new BMap.Size(圖片長度、寬度));
標注作為覆蓋物可顯示在圖標附近,使用Label類,定義文字內容、字體屬性以及偏移量,用set Label類創建文字標注。
varmarker=newBMap.Marker(point,{icon:my Icon});
var label=new BMap.Label(“標注內容”,{offset:new BMap.Size(偏移量x,偏移量y)});
map.add Overlay(marker);
marker.set Label(label)。
用戶通過點擊站點,可以進行實時水雨情查詢操作。
平臺基于SOA系統架構。SOA架構是一種粗粒度、開放式、松耦合的服務結構,要求軟件在開發過程中按照相關的標準或協議進行分層開發,從而使軟件變得更加彈性和靈活。
水文查詢系統的實時采集處理程序及數據庫系統都在服務器運行,客戶端僅保留展示層,不進行業務數據處理,所有的業務邏輯處理運行都在服務器端,客戶端不直接訪問數據庫端,有效地降低了對數據庫服務器負載能力的要求。
基于Android的水文信息查詢平臺由基礎數據層、業務邏輯層、通信網絡層及終端表現層構成,如圖1所示。其中,業務邏輯層以Web Service方式調用服務器的數據,并對其進行一些預處理和分析,通過IIS發布,為各移動終端訪問服務器數據提供有效通道。

圖1 基于Android的水文信息查詢平臺架構
水文查詢系統主要是通過地圖和表格的形式實現對流域內各水文站點的水雨情分布、實時降雨情況、輸水供水情況等信息進行實時查詢與展示,主界面如圖2所示。
該系統通過指定授權,確定用戶身份種類。用戶登錄時,首先進行身份驗證,經系統鑒別后,由授權服務賦予對資源的訪問權限。系統管理員可以登錄后臺管理系統進行信息發布、人員權限等級設置、系統維護等操作,而一般人員只能進行查詢操作。

圖2 漳衛南運河水文查詢系統主界面
該功能用于查看流域內各站點的水情。點擊覆蓋在流域圖內的所有水庫、河道、閘壩站點圖標,放大后顯示河流名稱及水庫、河道、閘壩站的站名。點擊地圖上站點名稱三角符號,可顯示10 d內水位、流量過程線。
該功能還以地圖的方式分析和展示全流域的實時降雨情況,并分析出等雨量面信息,默認顯示每天8時到當前時間的降雨分析情況。在地圖上可以用手勢放大和縮小地圖。同時,通過設置起止時間、雨量級別、站名選擇、等面值等條件查詢,可以分析出符合條件的雨量分布。
該功能以表格的方式查詢各水情站點信息,并可以顯示某站點的水位、流量過程線,點擊“水位”或“流量”對應項目可排序,也可按照起止時間和站名來查詢河道閘壩站點及水庫站點。
該功能還以報表的方式查詢一段時間的降雨信息,包括全流域全部的雨量站降雨信息。默認時間是每天8時到當前時間。點擊某個站點,彈出站點的日雨量柱狀圖界面。
該功能用于突發事件的圖像和位置的采集。采集后的圖像和位置信息直接保存于服務器數據庫中。所在的位置和地址可自動獲取,點擊相機圖標后可以拍照圖片,在描述框中可以輸入文字說明。該功能設定為只對水情監測工作人員開放。
該功能還用于查詢最新水情簡報、水文預報、納雨功能分析、天氣預報等文檔信息,還可以根據時間查詢對應時間2 d內的最新文檔數據。該文檔通過后臺管理系統維護。
該功能用于監視流域內是否有超限預警站點,以列表的形式顯示當前時間超汛限、超警戒的站點,點擊列表進入地圖,可顯示該超警戒站點所在的地理位置。
該功能用于在地圖上展示流域輸水、供水線路和監測斷面,點擊相應站點出現其實時水情及水位過程線、流量過程線。
此外,該系統還可以顯示各種常用的氣象信息,包括數值預報、雷達信息、云圖信息和臺風信息。
通過設計與開發基于Andorid的移動水文查詢系統,實現了手持設備隨時查詢水文信息的功能,可以更好地應用于水利站網的水雨情信息的實時信息查詢、信息分析與信息展示模塊。今后,可以借此平臺開發更多的功能,更好地促進水利信息化的發展。
[1]張雅楠,楊璐,鄭麗敏.基于Android手機的遠程視頻監控系統的設計與開發[J].計算機應用,2013,33(S1):283-286.
[2]姜珊,張海旭,于璐,等.百度地圖API在水庫信息顯示中的應用[J].信息技術與信息化,2016(9):33-35.
2017—08—14
安艷艷(1981—),女,工程師,主要從事水文綜合管理工作。
10.3969/j.issn.1004-7328.2017.06.017