亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ArcEngine的GPS定位跟蹤系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)

        2010-05-17 08:07:00陳祥蔥焦德杰
        鐵道勘察 2010年3期
        關(guān)鍵詞:定位器通信協(xié)議定位

        陳祥蔥 焦德杰 李 浩

        (1.哈爾濱市勘察測(cè)繪研究院, 黑龍江哈爾濱 150010; 2.黑龍江省城市規(guī)劃勘測(cè)設(shè)計(jì)研究院, 黑龍江哈爾濱 150040)

        GPS提供了覆蓋全球范圍、全天候、高精度的定位導(dǎo)航服務(wù)。目前,隨著通信技術(shù)的發(fā)展和硬件成本的減低,基于GPS的跟蹤定位服務(wù)逐漸由特殊領(lǐng)域走向普通大眾,被廣泛的應(yīng)用于車輛管理、車輛調(diào)度、車輛防盜、人員定位等領(lǐng)域,成為空間位置服務(wù)的重要內(nèi)容之一,并支撐著數(shù)字城管、數(shù)字城市規(guī)劃監(jiān)察、智能交通等數(shù)字城市管理與應(yīng)用。

        在現(xiàn)階段進(jìn)行的行業(yè)應(yīng)用系統(tǒng)、政府信息化管理等項(xiàng)目中,都提出了對(duì)GPS跟蹤定位的需求,要求定位服務(wù)能夠與GIS、業(yè)務(wù)系統(tǒng)無(wú)縫結(jié)合,充分發(fā)揮其監(jiān)控調(diào)度功能。但在項(xiàng)目實(shí)施中,由于受硬件廠家、通信協(xié)議、數(shù)據(jù)源、計(jì)算機(jī)硬件資源等因素的影響,開發(fā)的GPS定位跟蹤系統(tǒng)均存在著移植困難、兼容性擴(kuò)展性差等問題。本文通過多個(gè)項(xiàng)目的實(shí)際需求,采用ESRI公司提供的Arc Engine嵌入式開發(fā)組件,以模塊化思想設(shè)計(jì)開發(fā)能夠靈活移植,具備良好的擴(kuò)展性和穩(wěn)定性的GPS定位追蹤系統(tǒng)。

        1 系統(tǒng)結(jié)構(gòu)

        系統(tǒng)由跟蹤定位器和服務(wù)接收軟件組成(見圖1)。跟蹤定位器實(shí)現(xiàn)定位信息的采集和數(shù)據(jù)傳輸,服務(wù)接收軟件實(shí)現(xiàn)定位信息接收、解析、轉(zhuǎn)換、展現(xiàn)等數(shù)據(jù)處理和服務(wù)功能。

        跟蹤定位器內(nèi)嵌GPS定位模塊和通信模塊:前者通過接收GPS衛(wèi)星信號(hào)實(shí)時(shí)采集目標(biāo)的位置、速度、移動(dòng)方向等信息,按照協(xié)議標(biāo)準(zhǔn)生成定位數(shù)據(jù);后者實(shí)現(xiàn)通信功能,通過GPRS傳輸定位信息。目前,市場(chǎng)上已有很多成熟的GPS跟蹤定位器,如維臣、衛(wèi)通達(dá)等硬件廠商。由于硬件廠商不同,跟蹤定位器使用的通信協(xié)議也存在較大差異,為滿足多個(gè)項(xiàng)目的需求,兼容不同廠家的通信協(xié)議是軟件設(shè)計(jì)的重要約束條件。

        服務(wù)接收軟件為服務(wù)器程序,主要功能包括接收跟蹤定位器的連接請(qǐng)求,接收數(shù)據(jù)并獲取跟蹤目標(biāo)位置、速度、移動(dòng)方向等信息,與地理信息系統(tǒng)、行業(yè)應(yīng)用相聯(lián)系,提供跟蹤定位、監(jiān)控調(diào)度等服務(wù)。服務(wù)接收軟件的設(shè)計(jì)開發(fā)是本文研究的主要內(nèi)容。

        2 系統(tǒng)設(shè)計(jì)

        2.1 數(shù)據(jù)庫(kù)設(shè)計(jì)

        系統(tǒng)采用Oracle 10g管理存儲(chǔ)數(shù)據(jù),其存儲(chǔ)的數(shù)據(jù)包括系統(tǒng)管理參數(shù)、用戶信息、系統(tǒng)日志信息和GPS定位數(shù)據(jù),其核心和主體為GPS定位數(shù)據(jù)。GPS定位數(shù)據(jù)隨著時(shí)間逐漸累積,可達(dá)百萬(wàn)條記錄,會(huì)極大地影響檢索效率和穩(wěn)定性,是數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)需解決的主要問題。

        圖1 系統(tǒng)結(jié)構(gòu)

        對(duì)定位數(shù)據(jù)使用頻率進(jìn)行了分析,將其分為兩類:活躍數(shù)據(jù)和靜態(tài)數(shù)據(jù)?;钴S數(shù)據(jù)指使用比較頻繁的數(shù)據(jù),一般為接收時(shí)間較短的數(shù)據(jù);反之為靜態(tài)數(shù)據(jù),為接收時(shí)間較長(zhǎng)的歷史數(shù)據(jù)。在數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),對(duì)活躍數(shù)據(jù)和靜態(tài)數(shù)據(jù)分開存儲(chǔ),設(shè)計(jì)了活動(dòng)表和靜態(tài)表。活動(dòng)表存儲(chǔ)當(dāng)前或近期內(nèi)接收的定位數(shù)據(jù),在達(dá)到一定條件(記錄數(shù)達(dá)到20萬(wàn))后將將定位數(shù)據(jù)轉(zhuǎn)存至靜態(tài)表;靜態(tài)表存儲(chǔ)歷史定位數(shù)據(jù),其搜索優(yōu)先級(jí)按時(shí)間確定,即時(shí)效性高的數(shù)據(jù)優(yōu)先搜索(圖2),靜態(tài)表的創(chuàng)建和定位數(shù)據(jù)轉(zhuǎn)存通過數(shù)據(jù)庫(kù)觸發(fā)器實(shí)現(xiàn)[3]。

        圖2 定位數(shù)據(jù)存儲(chǔ)

        2.2 軟件設(shè)計(jì)

        軟件設(shè)計(jì)的目標(biāo)是定義軟件結(jié)構(gòu)層次,劃分軟件功能模塊,定義模塊接口。軟件的穩(wěn)定性、運(yùn)行效率、可擴(kuò)展性和可移植性是軟件設(shè)計(jì)時(shí)考慮的主要因素。

        軟件采用層次的結(jié)構(gòu)設(shè)計(jì),從下到上分別為數(shù)據(jù)層、服務(wù)層和表現(xiàn)層,各層由多個(gè)模塊組成,模塊間通過接口交換數(shù)據(jù)或提供服務(wù)。

        (1)總體設(shè)計(jì)

        總體設(shè)計(jì)的目標(biāo)是明確系統(tǒng)的數(shù)據(jù)流和總體框架(如圖3、圖4所示)。

        圖3 數(shù)據(jù)流

        圖4 系統(tǒng)框架

        (2)功能模塊設(shè)計(jì)

        依據(jù)功能和服務(wù)類型,為系統(tǒng)定義了兩類模塊,即基本模塊和擴(kuò)展模塊(見圖5)。

        圖5 功能模塊結(jié)構(gòu)

        基本模塊由通信模塊、數(shù)據(jù)處理模塊、數(shù)據(jù)庫(kù)服務(wù)模塊、日志服務(wù)模塊組成,是軟件核心功能模塊。其中通信模塊實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)連接建立、管理、斷開、網(wǎng)絡(luò)數(shù)據(jù)流接收及資源釋放清理,內(nèi)嵌定位追蹤器的通信協(xié)議,能夠支持多種類型、多個(gè)廠家的定位追蹤器。數(shù)據(jù)庫(kù)服務(wù)模塊提供數(shù)據(jù)庫(kù)相關(guān)服務(wù)?;谇皟蓚€(gè)模塊提供的服務(wù),擴(kuò)展了數(shù)據(jù)處理模塊和日志服務(wù)模塊:數(shù)據(jù)處理模塊內(nèi)嵌坐標(biāo)轉(zhuǎn)換算法,完成信息提取和數(shù)據(jù)轉(zhuǎn)換;日志服務(wù)主要監(jiān)測(cè)系統(tǒng)的運(yùn)行狀況,及時(shí)記錄各種運(yùn)行參數(shù),保障系統(tǒng)穩(wěn)定運(yùn)行。

        擴(kuò)展模塊包括權(quán)限管理和表現(xiàn)層。權(quán)限管理包括用戶管理、跟蹤定位終端管理、用戶權(quán)限管理等;表現(xiàn)層主要是定位信息在地圖上的展示,包括位置實(shí)時(shí)跟蹤、軌跡回放、道路里程統(tǒng)計(jì)等前臺(tái)功能。如果選用了擴(kuò)展模塊,該軟件可作為一個(gè)獨(dú)立的系統(tǒng)使用。

        (3)關(guān)鍵接口設(shè)計(jì)

        軟件設(shè)計(jì)中直接影響系統(tǒng)兼容性的兩個(gè)重要約束條件:

        ①協(xié)議類型。軟件支持的通信協(xié)議直接關(guān)系到硬件的兼容性,要求具備兼容新通信協(xié)議的能力。

        ②數(shù)據(jù)格式。跟蹤定位器采集的數(shù)據(jù)是基于WGS84坐標(biāo)系的,為增強(qiáng)對(duì)空間數(shù)據(jù)兼容性,要求能夠提供基于其他坐標(biāo)系的定位數(shù)據(jù)。

        為了滿足上述兩個(gè)約束條件,在接口設(shè)計(jì)中運(yùn)用橋接(Bridge)模式[4](圖6),定義了協(xié)議解析接口IDataAnylyse和坐標(biāo)轉(zhuǎn)化抽象類CoordinateTransBase。若要求系統(tǒng)支持新的硬件協(xié)議和數(shù)據(jù)轉(zhuǎn)換方法,只需繼承上述接口,加入新的協(xié)議或數(shù)據(jù)轉(zhuǎn)換算法,系統(tǒng)可以自動(dòng)選擇合適的協(xié)議或算法進(jìn)行數(shù)據(jù)處理。

        3 系統(tǒng)實(shí)現(xiàn)

        3.1 開發(fā)環(huán)境

        從開發(fā)效率、穩(wěn)定性、性價(jià)比等多方面考慮,選擇Visual C#為開發(fā)語(yǔ)言,開發(fā)環(huán)境為微軟公司的Visual Studio 2005, GIS平臺(tái)基于Arc Engine 9.2組件開發(fā)。數(shù)據(jù)庫(kù)采用甲骨文公司的Oracle 10g,該數(shù)據(jù)庫(kù)具備良好的擴(kuò)展性、安全性和穩(wěn)定性,支持?jǐn)?shù)據(jù)庫(kù)二次開發(fā)。

        3.2 網(wǎng)絡(luò)通信

        跟蹤定位器將獲得位置信息通過GPRS無(wú)線網(wǎng)絡(luò)回傳至服務(wù)器(由IP和端口號(hào)標(biāo)識(shí)),網(wǎng)絡(luò)通信模塊實(shí)現(xiàn)定位信息的接收、處理及資源管理等,該模塊的健壯性直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性。

        網(wǎng)絡(luò)通信使用Socket協(xié)議,通信方式有同步阻塞和異步非阻塞兩種類型。其中,同步通信在連接建立后,服務(wù)器會(huì)一直等待客戶端(跟蹤定位器)發(fā)送信息,為在線等待;異步通信在連接建立后馬上返回,一旦有信息發(fā)送,以回調(diào)(Callback)的方式接收并解析信息,為非在線等待[7]。為了高效使用有限的資源,采用異步非阻塞通信和多線程并發(fā)處理網(wǎng)絡(luò)事務(wù)。處理流程如圖7所示。

        圖6 接口結(jié)構(gòu)

        圖7 網(wǎng)絡(luò)通信流程

        三個(gè)線程并行完成網(wǎng)絡(luò)連接建立、通信資源管理和定位數(shù)據(jù)接收,進(jìn)程間通過公共內(nèi)存進(jìn)行數(shù)據(jù)交換。該模塊以幀為單位處理數(shù)據(jù),并解決接收過程中數(shù)據(jù)幀恢復(fù)、粘包等問題。

        3.3 緩存機(jī)制構(gòu)建

        在系統(tǒng)數(shù)據(jù)處理流程中,不同環(huán)節(jié)耗時(shí)、運(yùn)算速度不一致,當(dāng)并發(fā)終端達(dá)到一定數(shù)量后,將會(huì)發(fā)生數(shù)據(jù)阻塞,消耗大量資源,軟件無(wú)法正常的運(yùn)行下去。在軟件實(shí)現(xiàn)中,通過建立多個(gè)緩存來(lái)解決數(shù)據(jù)阻塞,協(xié)調(diào)模塊間的數(shù)據(jù)處理速度不一致的情況。

        經(jīng)過測(cè)試,存在數(shù)據(jù)阻塞的部分包括協(xié)議解析與數(shù)據(jù)轉(zhuǎn)換的數(shù)據(jù)交換、數(shù)據(jù)轉(zhuǎn)換與界面展現(xiàn)的數(shù)據(jù)交換(參見圖3)。其中,前者在并發(fā)量較大的情況下會(huì)出現(xiàn)數(shù)據(jù)阻塞;后者由于承擔(dān)繁重的繪圖工作,處理速度較慢,數(shù)據(jù)阻塞的情況比較嚴(yán)重。

        構(gòu)建緩存的思路是在兩個(gè)處理過程間開辟一塊公共內(nèi)存來(lái)協(xié)調(diào)兩個(gè)過程的數(shù)據(jù)交換。工作時(shí),數(shù)據(jù)傳遞方將數(shù)據(jù)寫入公共內(nèi)存,而非直接傳遞給數(shù)據(jù)接收方;數(shù)據(jù)接收方則依據(jù)自身的運(yùn)行速率,在上一個(gè)操作完成后從公共內(nèi)存中讀取數(shù)據(jù),暫時(shí)無(wú)法處理的數(shù)據(jù)依然存在于公共內(nèi)存中,等待下一次讀取。通過公共內(nèi)存的構(gòu)建,可以有效的避免數(shù)據(jù)傳遞方與數(shù)據(jù)接收方由于運(yùn)行速率不同導(dǎo)致的數(shù)據(jù)阻塞和丟失。

        3.4 高時(shí)態(tài)地圖繪制

        地圖繪制是單線程執(zhí)行,是整個(gè)系統(tǒng)消耗資源最多、運(yùn)行最慢的部分。在Arc Engine中,顯示子系統(tǒng)管理著地圖的顯示和刷新,異步顯示刷新和密集的地圖渲染操作能導(dǎo)致CPU的大量運(yùn)算操作。CPU的負(fù)載能夠延遲,甚至阻止地圖顯示刷新和用戶對(duì)地圖顯示的交互,從而降低了系統(tǒng)的實(shí)時(shí)性。而Arc Engine提供的動(dòng)態(tài)顯示技術(shù)則提供了一種同步刷新機(jī)制,將密集的圖形渲染工作負(fù)擔(dān)從CPU運(yùn)算轉(zhuǎn)移到圖形設(shè)備硬件上來(lái),能夠讓許多的移動(dòng)對(duì)象實(shí)現(xiàn)快速刷新[8]。在本系統(tǒng)中就采用了動(dòng)態(tài)顯示技術(shù)實(shí)現(xiàn)監(jiān)控目標(biāo)的實(shí)時(shí)顯示刷新,可同時(shí)動(dòng)態(tài)顯示500個(gè)以內(nèi)的目標(biāo)。

        高時(shí)態(tài)地圖繪制是通過動(dòng)態(tài)圖層實(shí)現(xiàn)的,通過重寫Arc Engine里的ILayer, IDynamicLayer, ILayerExtensions等接口,重寫動(dòng)態(tài)圖層繪制事件,通過自定義地圖刷新頻率實(shí)時(shí)在地圖上顯示更新數(shù)據(jù)。

        地圖動(dòng)態(tài)繪制的主要代碼如下所示:

        public override void DrawDynamicLayer(esriDynamicDrawPhase DynamicDrawPhase, IDisplay Display,IDynamicDisplay DynamicDisplay)

        {

        m_dynamicProperties.SetScale(esriDynamicSymbolType.esriDSymbolText, 1.0f, 1.0f);

        m_dynamicProperties.SetColor(esriDynamicSymbolType.esriDSymbolText, 1.0f, 1.0f, 1.0f, 1.0f);

        m_dynamicProperties.set_RotationAlignment(esriDynamicSymbolType.esriDSymbolMarker, esriDynamicSymbolRotationAlignment.esriDSRANorth);

        m_dynamicProperties.set_Smooth(esriDynamicSymbolType.esriDSymbolLine, true);

        DynamicDisplay.DrawPolyline(pc);

        }

        4 結(jié)束語(yǔ)

        GPS定位跟蹤系統(tǒng)綜合運(yùn)用GIS技術(shù)、網(wǎng)絡(luò)通信技術(shù),實(shí)現(xiàn)了對(duì)車輛、人員等目標(biāo)的監(jiān)控定位,具備兼容多種硬件協(xié)議和提供多種坐標(biāo)定位數(shù)據(jù)的能力。在運(yùn)行階段,系統(tǒng)支持的并發(fā)量為100臺(tái)左右,容量可達(dá)300~500臺(tái),而且采用GPRS通信方式,成本低廉,能夠較好的滿足中小項(xiàng)目對(duì)GPS定位跟蹤服務(wù)的需求。目前,該軟件已成功的應(yīng)用于哈爾濱市數(shù)字城市規(guī)劃監(jiān)察系統(tǒng)(如圖8所示)。

        圖8 系統(tǒng)界面

        在系統(tǒng)的實(shí)際應(yīng)用中,該軟件還存在以下幾個(gè)方面的不足:

        (1)高時(shí)態(tài)地圖繪制加快了地圖刷新速度,但對(duì)用戶交互的響應(yīng)時(shí)間較長(zhǎng),用戶操作不十分流暢,一定程度影響了用戶體驗(yàn)。該問題可能與Arc Engine版本有關(guān),在9.3版本中,動(dòng)態(tài)顯示技術(shù)得到了較大改善,屆時(shí)可以解決該問題。

        (2)欠缺發(fā)送跟蹤定位器指令功能。由于硬件廠家不同,跟蹤定位器的控制指令格式、發(fā)送方式等存在較大差異,只能定制實(shí)現(xiàn)。

        [1] 許建峰.基于GPS/GPRS的車輛管理系統(tǒng)的設(shè)計(jì)與研究[D].南京:南京理工大學(xué),2008

        [2] 杜江平.基于GPS/GIS車輛定位導(dǎo)航系統(tǒng)的研究[D].成都:電子科技大學(xué),2009

        [3] 王海亮,林立新,于三祿,等.精通Oracle 10g PL/SQL編程[M].北京:中國(guó)水利水電出版社,2004

        [4] Erich Gamma, Richard Helm, Ralph Johnson, et c.設(shè)計(jì)模式[M].北京:機(jī)械工業(yè)出版社,2008

        [5] 畢碩本,王 橋,徐秀華.地理信息系統(tǒng)軟件工程的原理和方法[M].北京:科學(xué)出版社,2003

        [6] 李征航,黃勁松,GPS測(cè)量與數(shù)據(jù)處理[M].武漢:武漢大學(xué)出版社,2005

        [7] Christian Nagel, Bill Evjen, Jay Glynn,C#高級(jí)編程[M].北京:清華大學(xué)出版社,2002

        [8] 韓 鵬,王 泉,王 鵬,等.地理信息系統(tǒng)開發(fā)-ArcEngine方法[M].武漢:武漢大學(xué)出版社,2008

        猜你喜歡
        定位器通信協(xié)議定位
        定位器故障分析及控制措施
        壓接類定位器壓接工藝設(shè)備改進(jìn)方案
        《導(dǎo)航定位與授時(shí)》征稿簡(jiǎn)則
        Smartrail4.0定位和控制
        找準(zhǔn)定位 砥礪前行
        基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設(shè)計(jì)
        基于DMX512通信協(xié)議的多路轉(zhuǎn)發(fā)器設(shè)計(jì)與研究
        基于圖像處理的定位器坡度計(jì)算
        電氣化鐵道(2016年4期)2016-04-16 05:59:46
        基于NS-3的PLC多頻通信協(xié)議仿真平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
        青年擇業(yè)要有準(zhǔn)確定位
        超碰性爱| 蜜桃视频无码区在线观看| 日本牲交大片免费观看| 亚洲国产av一区二区三区四区| 欧美亚洲尤物久久综合精品| 国产精品女人一区二区三区| 久久亚洲精品国产av| 国产精品高清一区二区三区不卡| 99久久精品日本一区二区免费| 欧美视频第一页| 日本成熟妇人高潮aⅴ| 少妇人妻av一区二区三区| 人妻少妇被猛烈进入中文字幕| 亚洲av日韩av天堂久久| 色婷婷综合中文久久一本| 91精品综合久久久久m3u8| 久久久精品久久久国产| 伊人久久大香线蕉av五月| 插我一区二区在线观看| 黄色视频在线免费观看| 美女裸体无遮挡免费视频国产| 国产午夜精品综合久久久| 亚洲女人毛茸茸粉红大阴户传播| 和黑人邻居中文字幕在线 | 久久精品成人一区二区三区蜜臀| av天堂手机免费在线| 国内揄拍国内精品少妇| 国产在线精品一区二区| 91青青草久久| 日本女优免费一区二区三区| 国产亚洲精品久久久久5区| 少妇人妻陈艳和黑人教练| 亚洲色AV性色在线观看| 国产亚洲激情av一区二区| 国产情侣自拍在线视频| 97午夜理论片影院在线播放| 日本动态120秒免费| 国产精品成人久久一区二区| 两人前一后地插着她丰满| 亚洲国产精品无码专区| 国产精品 视频一区 二区三区 |