朱宇蘭 洪 欣
(1.泉州醫(yī)學(xué)高等專(zhuān)科學(xué)校,福建 泉州 362000;2.華僑大學(xué),福建 泉州 362000)
二十世紀(jì)八十年代中期,沿海和內(nèi)地一些大城市公安機(jī)關(guān),為適應(yīng)斗爭(zhēng)形勢(shì)發(fā)展的需要,提高公安機(jī)關(guān)接處警的快速反應(yīng)能力,便利群眾報(bào)警求助和投訴,將原為盜(匪)警電話(huà)的110,逐步擴(kuò)大職能和拓寬服務(wù)范圍,建立了110報(bào)警服務(wù)臺(tái)[1]。面對(duì)頻繁的出警任務(wù),在警力資源有限的情況下,如何提高出警速度和效率成為擺在公安面前的首要問(wèn)題。
在出警過(guò)程中,影響出警效率和準(zhǔn)確性的一個(gè)關(guān)鍵問(wèn)題就是警員對(duì)目標(biāo)點(diǎn)周?chē)牡匦尾皇煜?,從而?dǎo)致出警人員已經(jīng)接近目標(biāo)但是找不到準(zhǔn)確的目標(biāo)位置,以致喪失到達(dá)出警點(diǎn)的第一時(shí)間,造成不必要的損失。
因此,對(duì)GPS手機(jī)出警導(dǎo)航系統(tǒng)進(jìn)行研究和開(kāi)發(fā),為解決出警人員接到指揮中心發(fā)送的報(bào)警信息后,在不了解道路情況時(shí)通過(guò)GPS手機(jī)的時(shí)時(shí)通訊和高精度放大/縮小地圖功能進(jìn)行精確導(dǎo)航,即可快速到達(dá)目標(biāo)點(diǎn),從而提高出警效率。
如今,越來(lái)越多的企業(yè)在規(guī)劃內(nèi)部網(wǎng)絡(luò)時(shí),將微軟平臺(tái)作為開(kāi)發(fā)的首選方案。從技術(shù)角度來(lái)講,微軟平臺(tái)上的應(yīng)用無(wú)論是在開(kāi)發(fā)上還是在軟件的部署上都非常容易且性能優(yōu)越。因此,操作系統(tǒng)選擇Windows XP,數(shù)據(jù)庫(kù)選擇Microsoft SQL Server CE,開(kāi)發(fā)工具選擇Microsoft公司的成熟產(chǎn)品Microsoft Visual Studio2008[2]。
GPS手機(jī)出警導(dǎo)航系統(tǒng)共包括九個(gè)模塊:界面模塊、GPS模塊、地圖包導(dǎo)入導(dǎo)出模塊、出警人員信息編輯模塊、出警人員信息查找與出警聯(lián)系模塊、通訊模塊、系統(tǒng)參數(shù)設(shè)置模塊、管理員登錄模塊和語(yǔ)音模塊。(見(jiàn)圖1)
圖1 系統(tǒng)模塊圖
1.目標(biāo)點(diǎn)信息(見(jiàn)表 1)
英文表名:aim_Info 說(shuō)明:存放報(bào)警點(diǎn)信息。
表1 目標(biāo)點(diǎn)信息
2.管理員密碼(見(jiàn)表 2)
英文表名:Admin_Password 說(shuō)明:存放管理員密碼。
表2 管理員密碼表
3.出警日志(見(jiàn)表 3)
英文表名:Task_Log 說(shuō)明:存放導(dǎo)航記錄。
表3 出警日志表
4.系統(tǒng)日志(見(jiàn)表 4)
英文表名:system_Log 說(shuō)明:存放系統(tǒng)運(yùn)行日志。
表4 系統(tǒng)日志表
5.軌跡(見(jiàn)表 5)
英文表名:Track_Log 說(shuō)明:存放出警行動(dòng)的軌跡
表5 軌跡表
該系統(tǒng)以SqlceProcess.cs作為統(tǒng)一的數(shù)據(jù)庫(kù)方法調(diào)用類(lèi)。
數(shù)據(jù)庫(kù)主類(lèi)組成包括:取得當(dāng)前程序運(yùn)行的目錄、創(chuàng)建/連接/備份數(shù)據(jù)庫(kù)、創(chuàng)建/清空數(shù)據(jù)表、向表Task_Log/System_Log/Track_Log中插入一條數(shù)據(jù)、更新目標(biāo)點(diǎn)數(shù)據(jù)、根據(jù)目標(biāo)點(diǎn)編號(hào)/地名模糊查詢(xún)、根據(jù)指定的ID精確查詢(xún)、日期格式轉(zhuǎn)換、返回當(dāng)前日期時(shí)間、查詢(xún)/更新管理員密碼、按給定的兩個(gè)日期進(jìn)行查詢(xún)、根據(jù)日期查詢(xún)軌跡信息[4]。
調(diào)用兩個(gè)數(shù)據(jù)庫(kù)空間名后通過(guò)FormSetDestination.cs[5]實(shí)現(xiàn)類(lèi)。usingSystem.Data.SqlServerCe;usingSystem.Data.SqlClient;
按編號(hào)(見(jiàn)圖2)、地名(見(jiàn)圖3)和經(jīng)緯度(見(jiàn)圖4)設(shè)置目標(biāo)點(diǎn)。
圖2 按編號(hào)設(shè)置目標(biāo)點(diǎn)
圖3 按地名設(shè)置目標(biāo)點(diǎn)
圖4 按經(jīng)緯度設(shè)置目標(biāo)點(diǎn)
通過(guò)數(shù)據(jù)庫(kù)表aim_info的主鍵aim_ID或aim_name來(lái)檢索輸入目標(biāo)地的信息。通過(guò)加入即時(shí)偵測(cè)輸入文本框txtID和txtName[6]的輸入字符串,可以達(dá)到模糊查找。
*FormFindDestination.cs為該功能實(shí)現(xiàn)類(lèi)
StringBuilder aim_ID=newStringBuilder(8);
SqlceProcess mysql=newSqlceProcess();
1.固定點(diǎn)查詢(xún)
以目標(biāo)地的ID(Aim_ID)為查找關(guān)鍵對(duì)目標(biāo)地信息(AimInfo)讀取數(shù)據(jù),即精確查詢(xún)。語(yǔ)句如下:
通過(guò)目標(biāo)地的ID的模糊查找,返回查詢(xún)結(jié)果的表,如果查詢(xún)結(jié)果超過(guò)50條,則返回前面的50條,即模糊查詢(xún)。語(yǔ)句如下[7]:
通過(guò)目標(biāo)地的名稱(chēng)的模糊查找,具體數(shù)據(jù)庫(kù)語(yǔ)句實(shí)現(xiàn)如下.
FormTaskLog.cs為該功能實(shí)現(xiàn)類(lèi),
*FormTaskLog_Load()函數(shù)是用來(lái)控制Data-Grid1顯示。
方法:首先調(diào)用DataGridTableStyle類(lèi)創(chuàng)建表dt,用 MappingName 讀出”Task_Log”。其次調(diào)用DataGridColunmStyle類(lèi)讀出行 dc1,dc2,dc3,再將它們加入dt,最后將dt寫(xiě)入DataGrid1,這樣就完成了數(shù)據(jù)的讀取顯示[9]。
由于項(xiàng)目數(shù)據(jù)庫(kù)所存的信息的時(shí)間格式為1900/01/01,而Datetime類(lèi)僅提供00/1/1格式,所以將后者(月份為例)讀出的字符串之前加入“00”,組成新的字符串格式為“001”,然后截取后兩位字符,最后才存入數(shù)據(jù)庫(kù)查找所需的時(shí)間字符串str_dt1To_dateTime中,這樣的格式與數(shù)據(jù)庫(kù)所存時(shí)間格式相符。
系統(tǒng)沒(méi)有出現(xiàn)漏報(bào)和誤報(bào),可準(zhǔn)確連續(xù)處理任務(wù),具有良好的穩(wěn)定性和容錯(cuò)能力。系統(tǒng)在相同的測(cè)試地點(diǎn)測(cè)得的經(jīng)緯度值與原有的車(chē)載定位系統(tǒng)應(yīng)基本相同,具有良好的測(cè)試精度。系統(tǒng)應(yīng)同時(shí)具備精確查詢(xún)和模糊查詢(xún),以進(jìn)一步提高效率。系統(tǒng)應(yīng)以最佳路徑進(jìn)行搜索導(dǎo)航,具有線(xiàn)路優(yōu)化性[9]。使用人員可修改、擴(kuò)充和維護(hù)該系統(tǒng),應(yīng)具有可維護(hù)性。保證系統(tǒng)的物理、用戶(hù)管理與數(shù)據(jù)傳輸?shù)陌踩?。?yōu)化邏輯與物理設(shè)計(jì),使系統(tǒng)運(yùn)行效率高,反應(yīng)速度快。系統(tǒng)容易安裝并正確使用,應(yīng)具有可操作性。軟件在智能手機(jī)中的實(shí)際運(yùn)行(見(jiàn)圖5):
圖5 實(shí)際運(yùn)行圖
該系統(tǒng)針對(duì)公安部門(mén)的需求設(shè)置了呼叫總部、隊(duì)友功能和高精度地圖功能。通過(guò)解碼函數(shù)blic string UnCompressInfo(string DestinationInfo)這解析短信內(nèi)容,從而得知出警任務(wù)內(nèi)容。
精確查找對(duì)于功能實(shí)現(xiàn)是可以達(dá)到要求的,但是當(dāng)實(shí)際使用時(shí),特別是數(shù)據(jù)量龐大時(shí),使用者不可能記下精確數(shù)據(jù)來(lái)查詢(xún)目標(biāo)地信息,因此引入模糊查找是非常必要的。在目標(biāo)地查詢(xún)和目標(biāo)地設(shè)置中加入了模糊搜索的函數(shù)可進(jìn)一步提高效率。
該系統(tǒng)在智能手機(jī)中安裝并在市區(qū)內(nèi)進(jìn)行了大量的實(shí)驗(yàn),在相同的測(cè)試地點(diǎn)測(cè)得的經(jīng)緯度值與原有的車(chē)載定位系統(tǒng)基本相同,且在實(shí)驗(yàn)測(cè)試過(guò)程中,沒(méi)有出現(xiàn)誤報(bào)警現(xiàn)象,證實(shí)了該系統(tǒng)具有良好的測(cè)試精度及穩(wěn)定性[10]。
[1] 羅子欣.天涯咫尺—3G改變我們的生活[M].山東教育出版社,2010(4):12.
[2] 福特Sara Ford.謝俊譯.Visual Studio程序員箴言[M].人民郵電出版社出版,2010(1):8.
[3] 郝安林.SQLServer 2008基礎(chǔ)教程與實(shí)驗(yàn)指導(dǎo)[M].清華大學(xué)出版社,2008(11):107-122.
[4] 謝云.Visual C#2008程序設(shè)計(jì)基礎(chǔ)與實(shí)例教程[M].研究出版社,2010(8).
[5] 王小科,梁冰,呂雙.C#全能速查寶典[M].人民郵電出版社,2009(11):21-22.
[6] WindowsMobile中如何建立GPRS連接以便Socket能正常通信.http://blog.csdn.net/chrys2000/archive/2007/12/11/1928506.aspx.2007,12,11
[7] 范文慶,周彬彬,安靖.API:函數(shù)、接口、編程實(shí)例[M].人民郵電出版社出版,2009(2):18-25.
[8] 鮑爾,斯內(nèi)爾(美).劉彥博,肖鵬,賈菡 譯.Visual Stdio2008[M].人民郵電出版社出版,2008(10):307-346.
[9] JeffreyRichter(美).王建華等譯.Windows 核心編程[M].北京:機(jī)械工業(yè)出版社,2000:11-17,463-509.
[10] 董四海.GPS全球定位系統(tǒng)的發(fā)展趨勢(shì)及市場(chǎng)前景[J].微型機(jī)與應(yīng)用.1997(11):2-3.