符晨曦 ,程 鋼,2 ,董文帥 ,岳俊升 ,張清蘭
(1.河南理工大學 測繪與國土信息工程學院,河南 焦作 454000;2.礦山空間信息技術國家測繪地理信息局重點實驗室,河南 焦作 454000)
隨著中國社會的快速轉型和變遷,家庭呈現(xiàn)小型化趨勢,家庭結構由家族式縮小為父母子女式,家庭內非勞動力人口與勞動力人口之比快速攀升[1]。隨之帶來的是家庭成員的監(jiān)護問題,尤其是老人、兒童等弱勢群體的安全監(jiān)護問題。弱勢群體走失、被拐背后隱藏的一個關鍵信息是位置信息,如何借助專業(yè)學科知識解決這個社會實際問題現(xiàn)實而迫切。
近些年來,基于位置的服務(Location Based Service, LBS)受到越來越多的關注。該技術將定位技術、移動通訊技術、地理信息系統(tǒng)技術和互聯(lián)網技術相結合[2],借助全球衛(wèi)星導航定位系統(tǒng)(Global Navigation Satellite System, GNSS)或無線電通訊網絡進行定位,獲取用戶位置信息,并在地理信息系統(tǒng)平臺支持下為用戶提供相應服務[3]。地理圍欄(Geo-fencing)是LBS的一個新應用,通過被監(jiān)護者的實時位置與虛擬圍欄的關系,判斷被監(jiān)護者的安全狀態(tài),進行軌跡跟蹤,并根據情況進行必要預警[4]。智能手機具有定位模塊,便于隨身攜帶,是實現(xiàn)地理圍欄技術的合適載體。
針對當前已有的監(jiān)護系統(tǒng)功能單一、多對象監(jiān)控查看不便、消息反饋不及時等不足之處[5],本文基于智能終端系統(tǒng),設計開發(fā)一種可對多個監(jiān)護對象同時進行監(jiān)護,對基于GNSS和GIS技術的定位、跟蹤顯示、圍欄分析以及超速、超時、摔倒等實時檢測技術和方法進行探索。
本文設計的系統(tǒng)采用C/S模式,由兩個客戶端和一個服務器組成。兩個客戶端分別是被監(jiān)護端和監(jiān)護端。被監(jiān)護端主要負責收集被監(jiān)護者的移動狀態(tài)數(shù)據并實時將數(shù)據上傳到服務器,進行超速、摔倒分析并在緊急情況時向監(jiān)護端發(fā)送預警通知。監(jiān)護端根據從服務器下載的被監(jiān)控端數(shù)據利用空間分析技術實時顯示被監(jiān)控端的位置,判斷其與虛擬地理圍欄的關系,進行危險性分析。服務器負責在后臺存儲數(shù)據、審核信息、查詢系統(tǒng)日志以及被監(jiān)護端和監(jiān)護端之間的信息傳輸。
服務器與客戶端之間的通信采用HTTP協(xié)議的JSP技術[6],數(shù)據同步通過HTTP的POST方式實現(xiàn),其中客戶端的請求方式是HTTP的Request方式,服務端的應答方式是HTTP的Response方式[7],數(shù)據格式是JSON。
系統(tǒng)主要有注冊登錄、個人中心、路徑導航、移動狀態(tài)采集、移動狀態(tài)顯示和安全狀態(tài)預警等6個功能模塊,其中,注冊登錄、個人中心、路徑導航布置在監(jiān)護端和被監(jiān)護端;移動狀態(tài)采集、超速預警和摔倒預警布置在被監(jiān)護端,移動狀態(tài)顯示、安全圍欄預警功能布置在監(jiān)護端;用戶信息和狀態(tài)數(shù)據存儲、中轉和管理由服務器端完成。系統(tǒng)功能結構如圖1所示。

圖1 系統(tǒng)功能結構概圖
系統(tǒng)工作主要的業(yè)務流程如下:
1)注冊及建立監(jiān)護關系。監(jiān)護者和被監(jiān)護者分別在監(jiān)護端和被監(jiān)護端進行注冊,被監(jiān)護者注冊后會從服務器獲得一個用于身份識別的唯一標識符,監(jiān)護者登錄系統(tǒng)后通過添加唯一標識符的方式與多個被監(jiān)護端形成監(jiān)護關系。
2)被監(jiān)護端將移動狀態(tài)數(shù)據獲取、上傳,超速、摔倒預警。被監(jiān)護端獲取本機的位置、速度、加速度等數(shù)據,并將位置、速度數(shù)據實時上傳至服務器。根據速度、加速度數(shù)據結合相應的算法判斷被監(jiān)護者是否處于正常移動速度和是否摔倒,在其處于危險狀態(tài)時通過自動發(fā)短信的方式向監(jiān)護者發(fā)出求助信息。
3)監(jiān)護端獲取被監(jiān)護者路徑數(shù)據,進行圍欄判斷及預警。監(jiān)護端預先設置好安全區(qū)域和安全路線等安全圍欄,再結合從服務器下載得到的被監(jiān)護端的位置數(shù)據,利用GIS分析方法判斷被監(jiān)護者是否在安全區(qū)域內或移動時是否偏離了安全路線,當被監(jiān)護者離開安全區(qū)域或安全路線時,監(jiān)護端會收到安全預警通知。監(jiān)護者接收到求助信息或安全預警通知后可通過路徑導航功能查詢到達被監(jiān)護者的最優(yōu)路徑。
在個人自愿的基礎上,未成年子女和行動不便的老人可以允許其父母或子女實時查看自己的位置,并進行安全監(jiān)護。系統(tǒng)數(shù)據包含必要的監(jiān)護與被監(jiān)護人信息、監(jiān)護關系、被監(jiān)護人的位置和路徑信息,需要借助數(shù)據進行存儲和管理。這些數(shù)據是進行安全分析、信息推送等工作的基礎。根據系統(tǒng)功能設計,本文對服務器數(shù)據庫進行了設計,主要包括4個數(shù)據表,分別是監(jiān)護端用戶信息表、被監(jiān)護端用戶信息表、監(jiān)護關系對應表、被監(jiān)護端數(shù)據表。監(jiān)護端用戶信息表(見表1)作用是記錄監(jiān)護者信息。被監(jiān)護端用戶信息表(見表2)作用是記錄被監(jiān)護者信息。監(jiān)護關系對應表(見表3)存儲的是監(jiān)護端和被監(jiān)護端之間的對應關系。被監(jiān)護端數(shù)據表(見表4)是一類表,每一個被監(jiān)護端有一個表,表名為被監(jiān)護端的唯一標示符,表內的信息主要是記錄被監(jiān)護端在某個時間點上的位置、速度信息。

表1 監(jiān)護端用戶信息表

表2 被監(jiān)護端用戶信息表

表3 監(jiān)護關系對應表

表4 被監(jiān)護端數(shù)據表
移動軌跡顯示、安全區(qū)域和安全路線繪制、路徑導航等功能都需要地圖的支持。因此,需要設置地圖圖層。監(jiān)護端和被監(jiān)護端都需要的地圖服務圖層有:
1)底圖圖層。底圖采用調用SuperMap在線地圖API的方式獲取得到,作為基礎地圖放置在MapActivity類中。
2)路徑導航圖層。該圖層為路徑導航模塊提供支持。當觸發(fā)路徑導航按鈕時,圖層上會顯示出從起點到終點的到達路徑。
僅存在于監(jiān)護端的地圖服務圖層有:
1)位置圖層。該圖層中有位置標記,當觸發(fā)被監(jiān)控端位置按鈕時,地圖中被監(jiān)控端的當前位置處會出現(xiàn)位置標記;當觸發(fā)本機位置按鈕時,地圖中本機的當前位置處會出現(xiàn)位置標記。
2)軌跡圖層。該圖層為顯示被監(jiān)控端移動軌跡提供支持。
3)安全圍欄圖層。監(jiān)護者可在該圖層上創(chuàng)建、編輯、保存安全圍欄。
監(jiān)護與被監(jiān)護關系的建立與維護,需要通過監(jiān)護端和被監(jiān)護端的雙層設置來共同完成。
監(jiān)護者通過添加家庭成員功能與被監(jiān)護者建立監(jiān)護關系。添加時需要輸入被監(jiān)護端的唯一識別符、用戶名和密碼,輸入的信息會上傳至服務器,服務器會進行審核,只有三者都一致,才會啟動監(jiān)護功能。這些信息只有被監(jiān)護端知道,監(jiān)護端只有在被監(jiān)護端許可時才可獲知,在一定程度上保障被監(jiān)護端的信息安全。
當被監(jiān)護者不會使用手機時,經被監(jiān)護者同意后,可由監(jiān)護者完成被監(jiān)護端的注冊和監(jiān)護與被監(jiān)護關系的建立,在此之后,只需打開程序放置在后臺運行即可,被監(jiān)護者無需進行過多操作。
需要獲取的被監(jiān)護端的移動狀態(tài)數(shù)據有位置、速度和加速度。實時位置及速度采用無線定位技術中的GPS定位和基站定位結合的方式獲取[8]。GPS定位效果較好,但當衛(wèi)星信號不能達到較好的定位效果時,需要由基站定位來彌補。通過二者獲取的位置數(shù)據是經緯度,將其進行坐標轉換后,上傳至服務器。加速度由智能移動終端上內嵌的加速度傳感器實時獲取,得到的是X,Y,Z三軸方向上的加速度分量[9]。其中,X軸表示手機左右方向,Y軸表示手機前后方向,Z軸表示垂直于手機的方向。加速度數(shù)據為摔倒預警提供數(shù)據支持,需保存在被監(jiān)護端本機,無需上傳至服務器。

安全圍欄預警技術路線是首先繪制安全圍欄,其次從服務器下載設定時間間隔內的被監(jiān)護端位置數(shù)據集,然后判斷被監(jiān)護端位置是否在安全圍欄內,若不在安全圍欄內則發(fā)出預警。
根據被監(jiān)護端日常活動范圍,繪制安全圍欄,安全圍欄有安全區(qū)域和安全路線兩種形式,繪制時,前者以多邊形要素顯示,后者以線型緩沖區(qū)顯示。可對已經繪制的圖形進行編輯、保存到本機內存等操作。從服務器端獲取被監(jiān)控端在設定的最近一段時間間隔內的位置數(shù)據集,將其與安全圍欄同時顯示在當前地圖圖層上,并根據點與多邊形的幾何關系判斷被監(jiān)控端是否在安全圍欄內,當點在多邊形內部和多邊形邊緣上均認為是在安全圍欄內。當被監(jiān)護端不在安全圍欄內,監(jiān)護端會及時收到彈窗通知。
本文采用的開發(fā)環(huán)境如下:服務器軟件是SuperMap iServer 8C;客戶端是Android操作系統(tǒng),版本為4.0.3,集成開發(fā)工具是Android studio,開發(fā)語言為Java[12],開發(fā)平臺為SuperMap iMobile 8C for Android,開發(fā)中使用到的該平臺的模塊見表5。
在對系統(tǒng)進行運行和測試時,需要具有良好的網絡環(huán)境,以保證客戶端和服務器的正常連接,另外對智能移動終端的要求是:Android系統(tǒng),版本為4.0.3及以上,運行內存為1 G及以上,含有GNSS定位功能和加速度傳感器,可以發(fā)送短信。
3.2.1 用戶注冊
注冊登錄功能是為了驗證用戶是否為合法用戶,保障用戶信息安全。注冊登錄功能流程見圖2。注冊時,先與服務器中的數(shù)據庫建立連接,再通過執(zhí)行SQL語句向用戶信息表中插入新用戶的信息,同時通過SQL循環(huán)語句比對數(shù)據庫中已有的數(shù)據來判斷用戶是否已存在,若已存在則返回錯誤提示信息。登錄時,同樣要先連接數(shù)據庫,再執(zhí)行SQL語句驗證輸入的用戶名和密碼是否與數(shù)據庫中保存的信息一致,若一致則進入功能界面,否則返回錯誤提示信息。

表5 系統(tǒng)開發(fā)中主要使用的Supermap模塊

圖2 注冊登錄功能流程
3.2.2 安全圍欄的繪制與管理
對安全圍欄的操作包括創(chuàng)建、命名、保存、選擇顯示、編輯、刪除等,通過調用SuperMap iMobile 8C(2017) for Android中數(shù)據模塊的Geometry類實現(xiàn)這些操作。測試結果見圖3。
3.2.3 圍欄安全性判斷
調用SuperMap iMobile 8C(2017) for Android中數(shù)據模塊的Geometry類實現(xiàn)點與多邊形位置關系內的判斷,以及調用PopupWindow類實現(xiàn)彈窗預警。當點不在多邊形內時,認為被監(jiān)護端不在安全區(qū)域內,此時系統(tǒng)會收到彈窗預警,測試結果見圖4。
3.2.4 移動狀態(tài)顯示模塊
從服務器端獲取被監(jiān)控端在設定的最近一段時間間隔內的位置數(shù)據集,并保存在本地內存中,利用正則表達式提取出速度、坐標信息。將點狀位置數(shù)據集存入類DatasetVector中,調用該類的convertToLine()方法,將點狀數(shù)據轉換為線狀數(shù)據,并存放入線狀數(shù)據集中,從而得到移動軌跡。最后調用Ondraw()方法在地圖圖層上進行顯示,測試結果見圖5。
3.2.5 路徑導航模塊
路徑導航功能的作用有兩點:1)監(jiān)護人員收到預警通知后,通過該功能選擇最優(yōu)路徑達到被監(jiān)護者所在的地點;2)該功能引導被監(jiān)護者找到回家或到達學校的路。監(jiān)控端的路徑導航起點是本機當前位置,終點是被監(jiān)控端當前位置。被監(jiān)控端起點是本機當前位置,終點是預設的常用地址位置。該功能通過調用SuperMap iMobile 8C(2017) for Android中導航模塊和網絡分析實現(xiàn)。以監(jiān)護端為例進行模擬測試,所用的網絡數(shù)據集為北京市路網數(shù)據集,測試結果見圖6。

圖3 安全圍欄繪制與管理界面

圖4 安全圍欄預警界面
3.2.6 摔倒及超速預警模塊
當被監(jiān)護端的速度超出預設速度,或加速度不在正常范圍時,被監(jiān)護者有超速或摔倒危險,此時,被監(jiān)護端通過Intern組件調用發(fā)送短信的Activity程序向監(jiān)護者自動發(fā)送預警短信。測試時,攜帶被監(jiān)護端模擬超速和摔倒情況,監(jiān)護端收到短信預警通知。

圖5 移動狀態(tài)顯示界面

圖6 路徑導航界面
本文在充分考慮弱勢人群外出時可能遇到的安全狀況基礎上,設計一種基于智能移動終端的家庭成員安全監(jiān)護系統(tǒng),在不需要額外購買智能設備的條件下,能夠同時對多個家庭成員的移動狀態(tài)進行遠程實時監(jiān)控,并可以根據移動狀態(tài)數(shù)據對被監(jiān)護者的安全狀態(tài)進行判斷,在遇到安全問題時自動向監(jiān)護者發(fā)出預警通知。這使得被監(jiān)護者的外出安全狀況不受時間和空間的限制,能夠被實時關注、監(jiān)護,也解放監(jiān)護人員的時間,在不降低安全性的前提下給予監(jiān)護雙方自由與空間。