摘要;隨著GPS(GIobal Positioning System)奎球定位系統(tǒng)的普及和應(yīng)用,車裁定位作為一個新型研究領(lǐng)域從二十世紀(jì)末開始被廣大開發(fā)商重視。本文通過模擬車裁定位對車輛跟蹤.出行路線規(guī)劃和導(dǎo)航、信息查詢等功能進(jìn)行統(tǒng)一,有序,高效率管理,系統(tǒng)堆護(hù)性好,同時增強了用戶體驗。
關(guān)鍵詞:車裁定位ArcSDE Arcgis server Flex xampp
中圖分類號;U463.6 文獻(xiàn)標(biāo)識碼:A 文章編號;1674-098X(2012)02(b)-0046-01
GIS(Geographic Information System)即地理信息系統(tǒng),在GPS及路徑優(yōu)化中發(fā)揮著重要作用。ArcGIs是一個壘面的、可伸縮的GIS平臺,它可以被集中在應(yīng)用服務(wù)器上和Web服務(wù)器上,將GIS的功能通過網(wǎng)絡(luò)傳遞給任意多的用戶,可以集中一些GIS邏輯,將其嵌入和部署在用戶定制的應(yīng)用中。Flex是一個高效、免費的開放源框架,可用于構(gòu)建具有表現(xiàn)力的web應(yīng)用程序,這些應(yīng)用程序利用Adobe Flash Player和AdobeAIR,運行時跨瀏覽器、桌面和操作系統(tǒng)實現(xiàn)一致的部署。Flex比傳統(tǒng)的HTML集成度更好,實現(xiàn)了控件的拖拽即用等功能,更適于頁面樣式的設(shè)計。
1系統(tǒng)功能需求
本系統(tǒng)提供基本的系統(tǒng)用戶管理、車輛管理、駕駛員管理;定位到具體車輛,查看車輛基本情況。具備對車輛的監(jiān)控管理,為車輛選擇行駛的最優(yōu)路線;歷史回放,查看近期車輛的活動情況,有無超速等違規(guī)行為;地圖操作,實現(xiàn)對地圖的放大、縮小、漫游、壘屏、自定義地圖上的標(biāo)注、測距、側(cè)面積、切換地圖等。
2系統(tǒng)架構(gòu)設(shè)計
2.1設(shè)計總體思想
本系統(tǒng)設(shè)計離不開數(shù)據(jù)庫,而數(shù)據(jù)庫中的表都附帶有很多屬性,例如坐標(biāo)、經(jīng)緯度等,系統(tǒng)最底層的工作即是利用ArcMap制作地圖,將地圖中的數(shù)據(jù)導(dǎo)入到空間數(shù)據(jù)庫SDE中,Arcgis Server根據(jù)空間數(shù)據(jù)庫對前臺提供地圖服務(wù),前臺Flex會將Arcgis~erver提供的地圖加載進(jìn)系統(tǒng)中并且會將地圖服務(wù)封裝成一個map對象以供后續(xù)操作,系統(tǒng)所有的邏輯都是基于這個加載進(jìn)來的地圖上進(jìn)行的;底層的數(shù)據(jù)庫分為業(yè)籌數(shù)據(jù)庫(關(guān)系數(shù)據(jù)庫)和空間數(shù)據(jù)庫,其書,系統(tǒng)用戶管理、車輛管理、駕駛員管理值接操作的是業(yè)務(wù)數(shù)據(jù)庫,車輛定位、地圖操作作等應(yīng)用直接操作的是SDE空間數(shù)據(jù)庫。當(dāng)前臺請求操作時,F(xiàn)lex通過Blazeds向服務(wù)器提供請求,并且通常返回一個與Java3ean對應(yīng)的前臺Actionscript Bean,再強制轉(zhuǎn)成此前臺bean進(jìn)行數(shù)據(jù)的操作,前臺Flex根據(jù)后臺返回來的信息判斷下一步的動作,必要時要操作map對象更新地圖,再基于此地圖完成各種業(yè)務(wù)邏輯。
2.2系統(tǒng)模塊劃分
根據(jù)使用底層數(shù)據(jù)方式的不同,系統(tǒng)分為兩個功能模塊:基于關(guān)系數(shù)據(jù)庫模塊和基于空間數(shù)據(jù)庫模塊。
2.1.1基于關(guān)系數(shù)據(jù)庫模塊
該模塊屬于基本的系統(tǒng)操作模塊,實現(xiàn)方法是簡單調(diào)用關(guān)系數(shù)據(jù)庫MySQL里存儲的數(shù)據(jù),在Flex頁面中加以顯示。同時,用戶也能將修改過的記錄重新存儲到數(shù)據(jù)庫。該模塊包括功能有:系統(tǒng)用戶管理、車輛管理、駕駛員管理。本模塊需要直接與MySQL關(guān)系數(shù)據(jù)庫打交道,在MySQL中執(zhí)行創(chuàng)建數(shù)據(jù)表、插入數(shù)據(jù)等操作。
2.1.2基于空間數(shù)據(jù)庫模塊
該模塊需要實現(xiàn)系統(tǒng)的核心功能,將空間數(shù)據(jù)庫ArcGIS與關(guān)系數(shù)據(jù)庫MySQL關(guān)聯(lián)起來后,當(dāng)需要對MySQL中數(shù)據(jù)進(jìn)行更改時,只需打開ArcGIS客服端軟件(ArcMap或者ArcCatalog)就能對MySQL中的屬性數(shù)據(jù)進(jìn)行更改。本模塊雖然訪問的最底層數(shù)據(jù)還是存儲于MySQL中,但是直接避免了和MySQL關(guān)系數(shù)據(jù)庫打交道。
2.3主要數(shù)據(jù)模型
本系統(tǒng)主要用關(guān)系模型。此模型結(jié)構(gòu)靈活,能滿足所有布爾邏輯運算和數(shù)學(xué)運算規(guī)則形成的查詢要求,能搜索、組合和比較不同類型的數(shù)據(jù),增加和刪除數(shù)據(jù)也非常方便。
2.4出錯設(shè)計
本系統(tǒng)為用戶提供出錯信息的方式有:出錯提示及提醒機制。
2.5安全保密設(shè)計
在系統(tǒng)安全保密設(shè)計中,本系統(tǒng)采用的是身份驗證,在登錄本系統(tǒng)時,系統(tǒng)讓用戶需要輸入用戶名和密碼進(jìn)行驗證。
3系統(tǒng)主要功能的實現(xiàn)
3.1基于關(guān)系數(shù)據(jù)庫功能模塊的實現(xiàn)
本功能主要是通過Flex與PHP通信,實現(xiàn)前臺與數(shù)據(jù)庫的交互。系統(tǒng)采用Flex自帶的數(shù)據(jù)連接創(chuàng)建模板的方式實現(xiàn)Flex與PHP的通信,創(chuàng)建一個小型的應(yīng)用系統(tǒng)。該模塊實現(xiàn)的功能有:系統(tǒng)用戶管理、車輛管理、駕駛員管理。以車輛管理為例進(jìn)行闡述,在使用數(shù)據(jù)連接創(chuàng)建完模板之后,會產(chǎn)生幾個文件,其中Cars.php是服務(wù)端用于操作數(shù)據(jù)庫的類文件。在客戶端使用模板(Modu),模板會調(diào)用生成的carsScript.as文件里面的方法,實現(xiàn)客戶端增、刪、改。此時無需編寫PHP代碼,只需使HTTPService組件與模板文件關(guān)聯(lián)起來即可實現(xiàn)對數(shù)據(jù)庫的操作。通過HTTPService組件將客戶端要求執(zhí)行的方法insert和參數(shù)parameters發(fā)送到服務(wù)端,然后將執(zhí)行結(jié)果返回。
3.2基于空間數(shù)據(jù)庫功能模塊的實現(xiàn)
本功能主要是通過BlazeDS實現(xiàn)Flex與數(shù)據(jù)庫通信,從而實現(xiàn)前臺與后臺數(shù)據(jù)的交互。在Flex與空間數(shù)據(jù)庫通信時,BlazeDS會作為數(shù)據(jù)中間層(相當(dāng)于電腦硬件里面的緩存的作用),分別與Flex端和服務(wù)器端雙向數(shù)據(jù)交互。該模塊實現(xiàn)的功能有:車輛定位、監(jiān)控管理、地圖操作、歷史回放等。
4結(jié)語
本系統(tǒng)闡述了開發(fā)的全過程,從功能需求、架構(gòu)設(shè)計到功能模塊的實現(xiàn),利用了Flex面向?qū)ο蟮木幊棠芰?,達(dá)到了預(yù)期的設(shè)計目的,實現(xiàn)了對各個項目的管理。隨著社會經(jīng)濟的發(fā)展,開發(fā)具有高度互動性、豐富用戶體驗以及功能強大客戶端的要求日異增長,F(xiàn)lex必將在企業(yè)應(yīng)用程序的開發(fā)中發(fā)揮更大的作用。
參考文獻(xiàn)
[1](美)Tariq Ahmed、/on Hirschi、FaisalAbid,著.李松峰,譯.Flex 3實戰(zhàn).清華大學(xué)出版社,2010.
[2]陳爽,付凱.Flex與ActionScript程序開發(fā).清華大學(xué)出版社,北京交通大學(xué)出版社,2010.