一種基于gprs的實時路況車載導(dǎo)航終端的制作方法
【專利摘要】本發(fā)明公開了一種基于GPRS的實時路況車載導(dǎo)航終端,包括:串口模塊、GPRS模塊、GPS模塊、電子地圖模塊、VG庫模塊、電子地圖引擎模塊、MiniGUI圖形用戶接口;實現(xiàn)了基于圖元文件的多屬性文件索引方法,在TAB格式電子地圖的基礎(chǔ)上,額外增加實時路況屬性,存放在另一個獨(dú)立的屬性文件中,包括FeatureId、位置、事件、名稱等字段,F(xiàn)eatureId字段指電子地圖中圖元的標(biāo)識符,位置字段指實時路況發(fā)生的地理位置,基于線性參考模型用起點和終點描述,事件字段指道路的實時路況狀態(tài),包括擁堵、擁擠和通暢三種,名稱字段指電子地圖圖元所描述的地理要素名稱。
【專利說明】—種基于GPRS的實時路況車載導(dǎo)航終端
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于車載導(dǎo)航【技術(shù)領(lǐng)域】,尤其涉及一種基于GPRS的實時路況車載導(dǎo)航終端。
【背景技術(shù)】
[0002]隨著城鎮(zhèn)居民汽車保有量的急劇增長,城市交通擁堵成為需要解決的社會熱點問題。
[0003]交通限行可以有效降低城市道路的負(fù)載,道路拓寬、下穿隧道等道路基礎(chǔ)條件的改善可以有效提高道路的承載力、解決單點瓶頸問題,但這些方法都沒有從道路綜合利用率方面考慮問題。實時路況信息的有效發(fā)布則可以提醒公眾合理地規(guī)劃出行路徑,躲避通行能力差的路段,間接提高道路的綜合利用率,避免交通擁堵的發(fā)生。
[0004]實時路況信息目前缺乏統(tǒng)一的標(biāo)準(zhǔn),實踐中大多以交通擁堵、擁擠、流暢等概括性的詞語描述,并用不同顏色在電子地圖上標(biāo)注。實時路況信息的發(fā)布主要基于無線電臺、萬維網(wǎng)、智能終端等平臺,如城市交通廣播電臺、百度地圖、新浪實時路況、圖吧導(dǎo)航等,與嵌入式系統(tǒng)應(yīng)用開發(fā)存在較大的差異性,無法滿足工業(yè)產(chǎn)品集成度提高的需求。改良升級后的GPS導(dǎo)航設(shè)備雖也具備了實時路況信息接收功能,但其主要以Windows CE嵌入式操作系統(tǒng)為平臺,與嵌入式Linux操作系統(tǒng)相比,存在著價格昂貴、技術(shù)屏蔽等問題。以嵌入式Linux操作系統(tǒng)的實時路況信息發(fā)布應(yīng)用相對缺乏,并且存在圖形用戶接口不夠豐富、需要包羅來自多方的軟件、對這些軟件進(jìn)行改進(jìn)集成等問題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例的目的在于提供一種基于GPRS的實時路況車載導(dǎo)航終端,旨在解決實時路況信息發(fā)布問題,利用GPRS移動通信技術(shù)采集實時路況信息,在GPS路徑導(dǎo)航的基礎(chǔ)上增加實時路況信息,更好地滿足分布式位置服務(wù)電子地圖數(shù)據(jù)存儲和人們出行信息需求。
[0006]本發(fā)明實施例是這樣實現(xiàn)的,一種基于GPRS的實時路況車載導(dǎo)航終端,該基于GPRS的實時路況車載導(dǎo)航終端包括:串口模塊、GPRS模塊、GPS模塊、電子地圖模塊、VG庫模塊、電子地圖引擎模塊;
[0007]串口模塊,用以實現(xiàn)S3C2410與SM908模塊的硬件連接,并據(jù)此實現(xiàn)通信程序;
[0008]GPRS模塊,采用SM 908模塊實現(xiàn)GPRS通信,接收實時路況信息;
[0009]GPS模塊,采用SM 908模塊實現(xiàn)GPS定位,解析NMEA數(shù)據(jù),獲取移動目標(biāo)的地理位置,即經(jīng)度和緯度數(shù)據(jù);
[0010]電子地圖模塊,用于實現(xiàn)基于圖元文件的多屬性文件索引方法;
[0011]VG庫模塊,用于定義DCInterface基類,封裝Mini⑶I圖形用戶接口函數(shù),實現(xiàn)矢量圖形的繪制;
[0012]電子地圖引擎模塊,用于實現(xiàn)圖形界面應(yīng)用程序,顯示電子地圖和實時路況信息。
[0013]進(jìn)一步,串口模塊,S3C2410與SM908通過RS232串口連接,即S3C2410端的TXD、RXD引腳分別與SM908端的RXD、TXD引腳連接;串口通信采用文本行讀寫模式,在S3C2410UARTl與SM908 GSM_DEBUG連接上定義文本行讀函數(shù),在S3C2410 UART2與SM908 GSM_MAIN連接上定義文本行讀和文本行寫函數(shù)。
[0014]進(jìn)一步,GPRS模塊,S3C2410 UART2與SM908 GSM_MAIN與連接,文本行大小定義為512字節(jié)。
[0015]進(jìn)一步,GPS模塊,S3C2410 UART2與SM908 GSM_MAIN與連接,文本行大小定義為512字節(jié);S3C2410 UARTl與SM908 GSM_DEBUG連接,文本行大小定義為128字節(jié)。
[0016]進(jìn)一步,電子地圖模塊,在Mitab庫的基礎(chǔ)上實現(xiàn)了基于圖元文件的多屬性文件索引方法,包括兩個方面:
[0017]移植Mitab庫,具體內(nèi)容有修改mi tab/mi tab_tabfi le.cpp文件中TABFile類的Open方法,增加“r+”文件打開模式,修改“w”文件打開模式操作;在TABFile類中增加WriteRecord和DeleteRecord方法,實現(xiàn)向DAT文件中增加一條記錄和從DAT文件中刪除一條記錄;修改 mitab/mitab_rawbinblock.cpp 文件中 TABRawBinBlock 類的 ReadDouble方法,對換double型數(shù)據(jù)的高4字節(jié)和低4字節(jié);
[0018]使用Mitab移植庫C++接口,實現(xiàn)電子地圖實時路況信息的更新函數(shù)RefreshEvent0
[0019]進(jìn)一步,VG庫模塊,采用C++語言編寫的矢量圖形繪制類庫,定義DCInterface基類,封裝Mini⑶I圖形用戶接口函數(shù),然后依次派生CVGLPoint、CVGLLine, CVGLPolyline,CVGLReg1n, CVGLSymbol 類,即 CVGLPoint 繼承 DCInterface、CVGLLine 繼承 CVGLPoint、CVGLPolyline繼承CVGLLine,類之間采用保護(hù)繼承,CVGLine類采用布雷森漢姆算法實現(xiàn)直線繪制,CVGLPolyline類采用相鄰平行線交叉點求解實現(xiàn)平行折線繪制,CVGLReg1n類采用邊相關(guān)掃描線填充算法實現(xiàn)多邊形區(qū)域繪制。
[0020]進(jìn)一步,電子地圖引擎模塊,創(chuàng)建主窗口、狀態(tài)欄IDC_STATUSBAR和工具欄IDC_TOOLBAR(包括放大、縮小、漫游、GPS導(dǎo)航、GPRS實時路況按鈕);主窗口過程函數(shù)響應(yīng)MSG_PAINT消息,若打開GPRS實時路況功能,在用VG庫顯示查詢區(qū)域內(nèi)電子地圖圖元及其屬性的同時根據(jù)線性參考模型顯示實時路況信息;工具欄通知回調(diào)函數(shù)定義為toolbar_notif—proc0。
[0021]進(jìn)一步,該基于GPRS的實時路況車載導(dǎo)航終端還包括=Min1TI圖形用戶接口,使用Mini⑶1-L 3.3移植版。
[0022]本發(fā)明提供的基于GPRS的實時路況車載導(dǎo)航終端,實現(xiàn)了基于圖元文件(MAP文件)的多屬性文件(DAT文件)索引方法。在TAB格式電子地圖的基礎(chǔ)上,額外增加實時路況屬性,存放在另一個獨(dú)立的屬性文件中,包括Featureld、位置、事件、名稱等字段,F(xiàn)eatureId字段指電子地圖中圖元的標(biāo)識符,位置字段指實時路況發(fā)生的地理位置,基于線性參考模型用起點和終點描述,事件字段指道路的實時路況狀態(tài),包括擁堵、擁擠和通暢三種,名稱字段指電子地圖圖元所描述的地理要素名稱。
[0023]本發(fā)明存在以下有益技術(shù)效果:
[0024]1.地圖比例尺小于1:100000,顯示圖元個數(shù)在200左右,終端界面運(yùn)行流暢,可以滿足電子地圖分辨率為118.llpixel/cm時地圖刷新要求。
[0025]2.實現(xiàn)圖元文件(MAP文件)與屬性數(shù)據(jù)文件(DAT文件)一對多關(guān)系,允許在終端存儲多種信息,具有較強(qiáng)的可擴(kuò)展性,有利于采用分布式模式構(gòu)建位置服務(wù)。
[0026]3.系統(tǒng)軟件嵌入式Linux,圖形用戶接口軟件Mini⑶I,TAB文件讀寫庫Mitab庫均為源碼開放軟件,使用成本低廉,為產(chǎn)品提供了廣闊的發(fā)展前景。
【專利附圖】
【附圖說明】
[0027]圖1是本發(fā)明實施例提供的基于GPRS的實時路況車載導(dǎo)航終端結(jié)構(gòu)示意圖;
[0028]圖中:1、串口模塊;2、GPRS模塊;3、GPS模塊;4、電子地圖模塊;5、VG庫模塊;6、電子地圖引擎模塊;7、Mini⑶I圖形用戶接口 ;
[0029]圖2是本發(fā)明實施例提供的多屬性文件索引方法的原理圖。
【具體實施方式】
[0030]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0031]下面結(jié)合附圖及具體實施例對本發(fā)明的應(yīng)用原理作進(jìn)一步描述。
[0032]如圖1所示,本發(fā)明實施例的基于GPRS的實時路況車載導(dǎo)航終端主要由:串口模塊1、GPRS模塊2、GPS模塊3、電子地圖模塊4、VG庫模塊5、電子地圖引擎模塊6、MinWUI圖形用戶接口 7 ;
[0033]串口模塊1,S3C2410與SM908使用RS232串口連接,采用文本行讀寫模式,在S3C2410 UARTl 與 SM908 GSM_DEBUG 連接上定義文本行讀(ReadBlockFromDebug)函數(shù),在 S3C2410 UART2 與 SM908 GSM_MAIN 連接上定義文本行讀(ReadLineFromMain)和文本行寫(WriteLineToMain)函數(shù)。
[0034]GPRS模塊2,使用串口模塊I S3C2410 UART2與SM908GSM_MAIN連接,文本行大小定義為512字節(jié),調(diào)用WriteLineToMain函數(shù),向GSM_MAIN發(fā)送AT命令,完成TCP/IP連接、關(guān)閉功能;調(diào)用ReadLineFromMain,從GSM_MAIN接收實時路況信息。
[0035]GPS模塊3,使用串口模塊I S3C2410 UART2與SM908 GSM_MAIN連接,文本行大小定義為512字節(jié),調(diào)用WriteLineToMain函數(shù),向GSM_MAIN發(fā)送AT命令,完成GPS設(shè)備的打開、關(guān)閉功能;使用串口模塊I S3C2410UART1與SM908 GSM_DEBUG連接,文本行大小定義為128字節(jié),調(diào)用ReadBlockFromDebug,從GSM_DEBUG接收NMEA標(biāo)準(zhǔn)的GPS數(shù)據(jù),解析得到GPS定位信息(包含地理位置的經(jīng)度和緯度)。
[0036]電子地圖模塊4,包含兩個方面的內(nèi)容,(一)修改mitab/mitab_tabfile.cpp文件中TABFile類的Open方法,增加“r+”文件打開模式,修改“w”文件打開模式操作,允許在缺少M(fèi)AP和IND文件時可以對電子地圖寫操作;在TABFile類中增加WriteRecord和DeleteRecord方法,實現(xiàn)向DAT文件中增加一條記錄和從DAT文件中刪除一條記錄;修改 mitab/mitab_rawbinblock.cpp 文件中 TABRawBinBlock 類的 ReadDouble 方法,對換double型數(shù)據(jù)的高4字節(jié)和低4字節(jié)。(二)在Mi tab庫移植的基礎(chǔ)上,使用其C++接口,實現(xiàn)電子地圖實時路況信息的更新函數(shù)RefreshEvent。
[0037]VG庫模塊5,是米用C++語目編寫的矢量圖形繪制類庫,DCInterface是基類,封裝Mini⑶I圖形用戶接口 7函數(shù),然后依次派生CVGLPoint、CVGLLine、CVGLPolyline、CVGLReg1n、CVGLSymbol 類,即 CVGLPoint 繼承 DCInterface、CVGLLine 繼承 CVGLPoint、CVGLPolyline繼承CVGLLine、等等,類之間采用保護(hù)繼承。
[0038]電子地圖引擎模塊6,基于Mini⑶I圖形用戶接口 7,使用C語言開發(fā)了一個圖形界面應(yīng)用程序,定義主窗口函數(shù)Min1TMain及主窗口過程函數(shù)RTNTWinProc,創(chuàng)建狀態(tài)欄IDC_STATUSBAR和工具欄IDC_T00LBAR(包括放大、縮小、漫游、GPS導(dǎo)航、GPRS實時路況等按鈕),編寫工具欄通知回調(diào)函數(shù)toolbar_notif_proc,響應(yīng)處理工具欄消息。主窗口過程函數(shù)響應(yīng)MSG_PAINT消息,使用VG庫模塊5顯示查詢區(qū)域內(nèi)電子地圖圖元及其屬性;若打開GPRS實時路況功能,則根據(jù)線性參考模型顯示實時路況信息;
[0039]Mini⑶I圖形用戶接口 7,圖形用戶接口采用移植版Mini⑶I,工作于多線程運(yùn)行模式。
[0040]本發(fā)明的工作原理:研究并實現(xiàn)基于圖元文件(MAP文件)的多屬性文件(DAT文件)索引方法,即一個圖元文件可以被多個屬性文件參照,可以在不改變電子地圖基本文件結(jié)構(gòu)(TAB結(jié)構(gòu))的基礎(chǔ)上,實現(xiàn)多源信息融合,為分布式模式的位置服務(wù)提供數(shù)據(jù)存儲基礎(chǔ)。
[0041]如圖2所示,本發(fā)明實施例的多屬性文件索引方法的原理圖包括以下步驟:
[0042]對于TAB格式電子地圖,利用MapInfo軟件為需要增加實時路況屬性的圖層創(chuàng)建屬性文件,包括TAB文件和DAT文件;根據(jù)實時路況相關(guān)的圖元名查找MAP文件相應(yīng)圖元的ID,再用Mitab移植庫往實時路況屬性文件中增加記錄和刪除記錄;根據(jù)實時路況屬性文件中每條記錄的FeatureId字段,可以查找MAP文件得到圖元矢量數(shù)據(jù),結(jié)合矢量數(shù)據(jù)和屬性繪完成實時路況信息的顯示。
[0043]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于GPRS的實時路況車載導(dǎo)航終端,其特征在于,該基于GPRS的實時路況車載導(dǎo)航終端包括:串口模塊、GPRS模塊、GPS模塊、電子地圖模塊、VG庫模塊、電子地圖引擎模塊; 串口模塊,用以實現(xiàn)S3C2410與SM908模塊的硬件連接,并據(jù)此實現(xiàn)通信程序; GPRS模塊,采用SIM 908模塊實現(xiàn)GPRS通信,接收實時路況信息; GPS模塊,采用SM 908模塊實現(xiàn)GPS定位,解析NMEA數(shù)據(jù),獲取移動目標(biāo)的地理位置,即經(jīng)度和緯度數(shù)據(jù); 電子地圖模塊,用于實現(xiàn)基于圖元文件的多屬性文件索引方法; VG庫模塊,用于定義DCInterface基類,封裝Mini⑶I圖形用戶接口函數(shù),實現(xiàn)矢量圖形的繪制; 電子地圖引擎模塊,用于實現(xiàn)圖形界面應(yīng)用程序,顯示電子地圖和實時路況信息。
2.如權(quán)利要求1所述的基于GPRS的實時路況車載導(dǎo)航終端,其特征在于,串口模塊,S3C2410與SM908通過RS232串口連接,即S3C2410端的TXD、RXD引腳分別與SM908端的RXD、TXD引腳連接;串口通信采用文本行讀寫模式,在S3C2410UART1與SM908GSM_DEBUG連接上定義文本行讀函數(shù),在S3C2410UART2與SM908GSM_MAIN連接上定義文本行讀和文本行寫函數(shù)。
3.如權(quán)利要求1所述的基于GPRS的實時路況車載導(dǎo)航終端,其特征在于,GPRS模塊,S3C2410UART2與SM908GSM_MAIN與連接,文本行大小定義為512字節(jié)。
4.如權(quán)利要求1所述的基于GPRS的實時路況車載導(dǎo)航終端,其特征在于,GPS模塊,S3C2410UART2與SM908GSM_MAIN與連接,文本行大小定義為512字節(jié);S3C2410UART1與SM908GSM_DEBUG連接,文本行大小定義為128字節(jié)。
5.如權(quán)利要求1所述的基于GPRS的實時路況車載導(dǎo)航終端,其特征在于,電子地圖模塊,在Mitab庫的基礎(chǔ)上實現(xiàn)了基于圖元文件的多屬性文件索引方法,包括兩個方面: 移植Mitab庫,具體內(nèi)容有修改mitab/mitab_tabfile.cpp文件中TABFile類的Open方法,增加r+文件打開模式,修改w文件打開模式操作;在TABFile類中增加WriteRecord和DeleteRecord方法,實現(xiàn)向DAT文件中增加一條記錄和從DAT文件中刪除一條記錄;修改 mitab/mitab_rawbinblock.cpp 文件中 TABRawBinBlock 類的 ReadDouble 方法,對換double型數(shù)據(jù)的高4字節(jié)和低4字節(jié); 使用Mitab移植庫C++接口,實現(xiàn)電子地圖實時路況信息的更新函數(shù)RefreshEvent。
6.如權(quán)利要求1所述的基于GPRS的實時路況車載導(dǎo)航終端,其特征在于,VG庫模塊,采用C++語言編寫的矢量圖形繪制類庫,定義DCInterface基類,封裝MiniGUI圖形用戶接口函數(shù),然后依次派生 CVGLPoint、CVGLLine, CVGLPolyline, CVGLReg1n, CVGLSymbol 類,即 CVGLPoint 繼承 DCInterface、CVGLLine 繼承 CVGLPoint、CVGLPolyline 繼承 CVGLLine,類之間采用保護(hù)繼承,CVGLine類采用布雷森漢姆算法實現(xiàn)直線繪制,CVGLPolyline類采用相鄰平行線交叉點求解實現(xiàn)平行折線繪制,CVGLReg1n類采用邊相關(guān)掃描線填充算法實現(xiàn)多邊形區(qū)域繪制。
7.如權(quán)利要求1所述的基于GPRS的實時路況車載導(dǎo)航終端,其特征在于,電子地圖引擎模塊,創(chuàng)建主窗口、狀態(tài)欄IDC_STATUSBAR和工具欄IDC_T00LBAR,包括放大、縮小、漫游、GPS導(dǎo)航、GPRS實時路況按鈕;主窗口過程函數(shù)響應(yīng)MSG_PAINT消息,若打開GPRS實時路況功能,在用VG庫顯示查詢區(qū)域內(nèi)電子地圖圖元及其屬性的同時根據(jù)線性參考模型顯示實時路況信息;工具欄通知回調(diào)函數(shù)定義為toolbar_notif_proc,響應(yīng)處理工具欄消息。
8.如權(quán)利要求1所述的基于GPRS的實時路況車載導(dǎo)航終端,其特征在于,該基于GPRS的實時路況車載導(dǎo)航終端還包括=Mini⑶I圖形用戶接口,使用Mini⑶1-1.3.3移植版。
【文檔編號】G01C21/26GK104359485SQ201410647106
【公開日】2015年2月18日 申請日期:2014年11月14日 優(yōu)先權(quán)日:2014年11月14日
【發(fā)明者】史軍勇, 李玲玲, 蘇芳荔, 高曉鋒 申請人:鄭州航空工業(yè)管理學(xué)院