新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > 基于移動定位服務(wù)的考勤管理系統(tǒng)

基于移動定位服務(wù)的考勤管理系統(tǒng)

作者: 時間:2012-08-02 來源:網(wǎng)絡(luò) 收藏

執(zhí)行子模塊,系統(tǒng)接收用戶的請求,調(diào)用SP 提供的定位接口進(jìn)行定位,然后將定位結(jié)果存入數(shù)據(jù)庫的定位結(jié)果表中。如果定位成功,則定位執(zhí)行子模塊將定位成功的終端的經(jīng)度和緯度寫入定位成功表;如果定位失敗,系統(tǒng)給出提示信息,并將定位失敗的信息寫入定位失敗表中,以備查詢。此外,定位結(jié)束后,定位執(zhí)行子模塊給出提示信息,如:定位結(jié)束、定位成功、定位失敗等信息。在定位執(zhí)行期間,定位執(zhí)行子模塊不能再接受新的定位請求。

范圍搜索子模塊,接受用戶范圍搜索請求,從數(shù)據(jù)庫中取出定位成功的終端所在位置信息,查找該終端是否在設(shè)定的工作區(qū)域內(nèi)。對于定位成功的移動終端,用戶可以隨時啟動、或者設(shè)定時間來啟動范圍搜索程序,查看某定位成功的移動終端是否在工作區(qū)域內(nèi),以獲得員工的情況。

其中范圍搜索算法采用經(jīng)典的點(diǎn)與多邊形關(guān)系判定方法,根據(jù)本系統(tǒng)的實(shí)現(xiàn),具體分為(1)判斷一點(diǎn)是否在一個圓內(nèi),只需判斷該點(diǎn)與圓心的距離是否小于或等于半徑即可。(2)判斷點(diǎn)是否在多邊形內(nèi),過該點(diǎn)向x 軸正方向做一條射線,如果該射線與多邊形有奇數(shù)個交點(diǎn),則該點(diǎn)在多邊形內(nèi),有偶數(shù)個交點(diǎn)則在多邊形外[13].對于移動終端定位失敗的情況,需要對該移動終端進(jìn)行自動周期定位搜索,即,根據(jù)設(shè)定的定位周期和定位次數(shù),在工作區(qū)域內(nèi)對該移動終端定位并進(jìn)行范圍搜索的過程。圖3 給出了自動周期定位搜索流程。

圖3 自動周期定位搜索流程圖。

圖3 自動周期定位搜索流程圖

GIS 地圖子模塊用于在定位成功后將被定位移動終端的位置顯示在數(shù)字地圖上。根據(jù)此功能,能夠根據(jù)該位置信息為用戶,比如在數(shù)字地圖上進(jìn)行指定條件的搜索,獲取搜索結(jié)果的信息等。

該子模塊還具有定位歷史記錄回放功能。

根據(jù)定位和范圍搜索結(jié)果,系統(tǒng)生成移動終端對應(yīng)的員工信息,存儲在數(shù)據(jù)庫中,從而完成考勤工作。

2.2 員工軌跡回放

本系統(tǒng)還具有根據(jù)查詢條件顯示所存儲的移動終端定位歷史記錄的回放功能,回放方式分為兩種:

(1)按照真實(shí)的定位時間間隔回放。根據(jù)之前對用戶的每次定位操作成功后,定位記錄中包含的移動終端號碼、經(jīng)緯度和定位時間信息,按照定位記錄的原始時間間隔在地圖上依次顯示移動終端的位置。

(2)按照系統(tǒng)設(shè)定的時間快速回放。用戶可以快速地瀏覽該時間段內(nèi)的定位記錄,而不考慮真實(shí)的時間間隔,按照系統(tǒng)配置時設(shè)定的時間快速對某個移動終端在某個時間段內(nèi)的定位歷史記錄在數(shù)字地圖上回放。

移動終端定位的歷史記錄就是存放在數(shù)據(jù)庫中的搜索結(jié)果表,在使用定位歷史記錄回放功能時,首先需要根據(jù)用戶指定的回放時間段和移動終端號碼從數(shù)據(jù)庫中得到所有的定位記錄,選擇定位回放方式,在數(shù)字地圖上回放被定位設(shè)備的歷史軌跡。

按照真實(shí)定位時間間隔回放的實(shí)現(xiàn)方式并不能保證時間間隔完全準(zhǔn)確,由于接口調(diào)用時間等原因只能保證大致準(zhǔn)確。如果要求快速回放,只需在取得所有符合條件的定位記錄后,按照系統(tǒng)設(shè)定的固定時間間隔休眠所述線程即可,而不需要做相鄰兩條記錄之間的時間差運(yùn)算。在兩種回放過程中,用戶均可以隨時中止回放。

圖4 給出了按照真實(shí)定位時間間隔回放定位歷史記錄的工作流程。

圖4 回放定位歷史記錄工作流程

圖4 回放定位歷史記錄工作流程

用戶輸入查詢條件后,系統(tǒng)調(diào)用定位歷史記錄接口,并判斷如果存在符合條件的定位歷史記錄,則啟動一個定位回放線程,將查詢到的所有定位歷史記錄傳入該線程(該線程中定義了一個循環(huán)來顯示定位記錄)。在定位回放線程中判斷記錄的總數(shù)是否大于1,如果總數(shù)大于1,則取出相鄰兩條定位記錄,然后將前一條定位記錄的經(jīng)度和緯度信息傳入GIS 地圖模塊顯示移動終端位置的接口,在數(shù)字地圖上顯示被定位移動終端的位置,將該線程休眠,休眠的時間為前面取出來的相鄰兩條定位記錄的時間差,這樣做是為了保證回放的時間間隔與先前定位時的時間間隔一致,然后結(jié)束線程休眠,將定位記錄的總數(shù)減1,再次啟動一個定位回放線程,重復(fù)上述操作直至最后一條定位歷史記錄顯示完畢。

3 系統(tǒng)仿真

3.1 仿真環(huán)境

器端軟硬件環(huán)境包括:SUN Fire V440 器,配置2 個UltraSPAR C IIIi CPU,時鐘速度為1593MHz,物理內(nèi)存4096MB,操作系統(tǒng)采用SUNSolaris 5.9;應(yīng)用服務(wù)器為WebLogic 8.1 SP5;數(shù)據(jù)庫采用MySQL 5.0;GIS 服務(wù)器軟件采用MapInfoMapXtreme(R) Java Edition(TM) 4.5.0.采用短信和定位模擬網(wǎng)關(guān)。

客戶端軟硬件環(huán)境包括:PC 機(jī)聯(lián)想啟天M2400;操作系統(tǒng)為Microsoft Windows XP Professional SP2;JDK 1.5.0(Update6)。

3.2 仿真方法

使用CDMA 手機(jī)模擬移動終端,每個模擬終端具備唯一的號碼。用1 個模擬用戶并使用模擬程序創(chuàng)建1 至299 個虛擬用戶,以3 次/分鐘的速率執(zhí)行短信定位業(yè)務(wù)。搜索范圍設(shè)置為多邊形。定位方式采用自動定位,自動周期定位的時間間隔為1 分鐘,自動周期定位次數(shù)為4 次。在短信和定位模擬網(wǎng)關(guān)的配置中,設(shè)置不同的循環(huán)次數(shù)和間隔時間,根據(jù)返回的定位信息次數(shù)、總時間和平均一次定位時間對性能進(jìn)行測試。

3.3 仿真結(jié)果

將模擬移動終端隨機(jī)放置于多邊形區(qū)域附近進(jìn)行測試,定位結(jié)果如表1 所示,在模擬終端數(shù)量相對較少和相對較多的兩種情況下,系統(tǒng)均能對終端進(jìn)行有效定位,其中模擬終端個數(shù)較多時,定位平均時間會下降,而成功率基本保持穩(wěn)定。

表1 移動終端定位成功數(shù)量表

表1 移動終端定位成功數(shù)量表 電荷放大器相關(guān)文章:電荷放大器原理


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉