日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]嵌入式電子地圖數(shù)據(jù)分塊組織研究

摘要:文章研究了基于嵌入式地圖數(shù)據(jù)分塊組織。嵌入式設(shè)備相對(duì)于PC機(jī),CPU運(yùn)算速度較慢,內(nèi)存較?。欢度胧皆O(shè)備處理大量的數(shù)據(jù)時(shí),CPU和內(nèi)存資源相對(duì)來(lái)說(shuō)比較緊張。實(shí)現(xiàn)基于嵌入式電子地圖的功能,數(shù)據(jù)存取策略比較重要。本文提出了一種電子地圖數(shù)據(jù)分塊組織的方法,并且使用雙緩沖技術(shù)在QT/Embcdded平臺(tái)上實(shí)現(xiàn)了嵌入式地圖在設(shè)備上的漫游,放縮等功能。
關(guān)鍵詞:嵌入式地圖;數(shù)據(jù)分塊組織;QT/Embedded

0 引言
   
近年來(lái),嵌入式Linux得到了快速發(fā)展,它被廣泛應(yīng)用在移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、媒體播放器、消費(fèi)性電子產(chǎn)品以及航空航天等領(lǐng)域中。車輛導(dǎo)航系統(tǒng)是空間信息產(chǎn)業(yè)中衛(wèi)星導(dǎo)航產(chǎn)業(yè)的一個(gè)重要的發(fā)展領(lǐng)域。導(dǎo)航電子地圖數(shù)據(jù)是導(dǎo)航系統(tǒng)的基礎(chǔ),其存儲(chǔ)和組織策略是嵌入式導(dǎo)航系統(tǒng)中最基本和重要的一部分。導(dǎo)航是集GIS、GPS、通信、嵌入式軟硬件技術(shù)為一體的高度綜合性的高技術(shù)產(chǎn)品。在導(dǎo)航系統(tǒng)中電子地圖數(shù)據(jù)量比較大,而嵌入式設(shè)備資源比較有限,所以電子地圖數(shù)據(jù)組織的好壞,決定了導(dǎo)航系統(tǒng)本身的成敗。

1 數(shù)據(jù)的分塊的邊界問(wèn)題
   
嵌入式設(shè)備的LCD一般都比較小,本文使用的LCD大小是480×272。嵌入式設(shè)備內(nèi)存也較小,不能一次把所有電子地圖數(shù)據(jù)讀入內(nèi)存,即使能夠把全部數(shù)據(jù)讀入到內(nèi)存,在LCD屏幕上也不能完全顯示,這樣大大浪費(fèi)了有限的內(nèi)存資源。把嵌入式電子地圖數(shù)據(jù)分塊組織,節(jié)省了嵌入式設(shè)備的CPU和內(nèi)存資源。數(shù)據(jù)地圖數(shù)據(jù)分塊后,原來(lái)數(shù)據(jù)的拓?fù)?/strong>關(guān)系被破壞,數(shù)據(jù)塊的邊界可能出現(xiàn)問(wèn)題。比如一條線從一數(shù)據(jù)塊中射出,因?yàn)閿?shù)據(jù)塊的不同,跨越多個(gè)數(shù)據(jù)塊的線會(huì)出現(xiàn)線的斷點(diǎn)情況,此時(shí)需要重新求得數(shù)據(jù)塊邊界與線的交點(diǎn),重建拓?fù)?。再者,地圖中的線并不是規(guī)則的折線,可能從一個(gè)數(shù)據(jù)塊中射出,而后經(jīng)過(guò)彎轉(zhuǎn)重新進(jìn)入該數(shù)據(jù)塊,數(shù)據(jù)分塊的時(shí)候不考慮這個(gè)問(wèn)題,就會(huì)出現(xiàn)拓?fù)溴e(cuò)誤。
    本文提出了一種數(shù)據(jù)分塊組織方法。即把一幅地圖按照行列分成行×列個(gè)規(guī)則矩形網(wǎng)格(Grid)。為了便于數(shù)據(jù)的讀取,給格網(wǎng)的每個(gè)網(wǎng)格進(jìn)行編碼。如圖1所示把幾條線路分割成4×5個(gè)網(wǎng)格。


    地圖分割成一定數(shù)量的規(guī)則網(wǎng)格后,為便于讀取格網(wǎng)數(shù)據(jù),需要對(duì)不同的網(wǎng)格編碼組織。規(guī)則格網(wǎng)是一種普遍應(yīng)用的分塊方法,只需指定在行、列方向上的分塊數(shù)m、n,就可以按照相等的間隔把圖像區(qū)域分為m×n個(gè)子塊。假如地圖被分割成i×j個(gè)網(wǎng)格的格網(wǎng),格網(wǎng)中的網(wǎng)格用“mn”、“m,n”或Grid(m,n)表示,其中m表示網(wǎng)格行號(hào),n表示網(wǎng)格列號(hào)。簡(jiǎn)單按照行列進(jìn)行編碼,比較方便數(shù)據(jù)組織。如上圖:從左上角開(kāi)始,第一行的網(wǎng)格編碼為00、01、02、03。這種簡(jiǎn)單的網(wǎng)格編碼,可以很容易找到其相鄰的網(wǎng)格,如用m表示網(wǎng)格的行號(hào),用n表示網(wǎng)
格的列號(hào),則編碼為Grid(m,n)的網(wǎng)格,其左邊的網(wǎng)格編碼為Grid(m,n-1),右邊相鄰的網(wǎng)格編碼為Grid(m,n+1),如果找其上方下方的網(wǎng)格,只需行號(hào)保持不變列號(hào)加1或者減1即可。如果一節(jié)點(diǎn)x在網(wǎng)格mn中,則點(diǎn)x屬于網(wǎng)格mn,即x∈Grid(m,n);如果一條線L在網(wǎng)格mn中,則線L屬于網(wǎng)格mn,即L∈Grid(m,n)。
    規(guī)則的格網(wǎng)是按照一定的長(zhǎng)寬劃分的,假如每個(gè)網(wǎng)格的長(zhǎng)為272、寬為480,一個(gè)長(zhǎng)為816寬為960的地圖,就被分成3×2個(gè)規(guī)則網(wǎng)格。
    電子地圖數(shù)據(jù)包括很多元素,其中包括點(diǎn)、線、區(qū)域等。對(duì)于地圖上的點(diǎn)來(lái)說(shuō),可以很容易判斷其屬于哪個(gè)網(wǎng)格。比如點(diǎn)p(242,400),網(wǎng)格的長(zhǎng)如果為272,寬為480,則點(diǎn)p屬于第一個(gè)網(wǎng)格,其編碼為00。線或區(qū)域分布在很多網(wǎng)格里面,這樣就會(huì)與不同的網(wǎng)格邊界有交點(diǎn),實(shí)際上這個(gè)交點(diǎn)不一定存在。比如一條線Line,由4個(gè)節(jié)點(diǎn)P1、P2、P3、P4組成。Line分布在三個(gè)網(wǎng)格中,如圖2所示。


    讀取格網(wǎng)數(shù)據(jù)時(shí),如果沒(méi)有讀取到網(wǎng)格10和11的數(shù)據(jù),只顯示網(wǎng)格00的數(shù)據(jù),那么Line會(huì)出現(xiàn)斷點(diǎn),如圖3所示:

[!--empirenews.page--]
    可以看出,P2和P3的點(diǎn)之間的連線消失了。因?yàn)?,在網(wǎng)格00的數(shù)據(jù)里并沒(méi)有P3點(diǎn)的信息,Line在網(wǎng)格00中顯示的只是P1到P2的連接線。同樣,如果顯示網(wǎng)格10的數(shù)據(jù),而不顯示網(wǎng)格00的數(shù)據(jù)和網(wǎng)格11的數(shù)據(jù),在網(wǎng)格10中,Line只有一個(gè)點(diǎn)P3,而P3到P2、P4的連接線消失了。此時(shí)需要添加節(jié)點(diǎn)并且斷開(kāi)原來(lái)的線段重建拓?fù)鋪?lái)處理連接線消失的情況。斷開(kāi)線段p2p3,并求得p2p3與網(wǎng)格00、網(wǎng)格10邊界的交點(diǎn)p,此時(shí)p2p屬于網(wǎng)格00中,pp3屬于網(wǎng)格10。如圖4所示。實(shí)際上,路段是不規(guī)則的,可能出現(xiàn)如圖5所示的情況。


    從圖5可以看出,一條線從網(wǎng)格射出后,然后再次穿過(guò)該網(wǎng)格。并與網(wǎng)格有4個(gè)交點(diǎn)。在重建拓?fù)潢P(guān)系的時(shí)候,兩次穿過(guò)格網(wǎng)中的線要被分成兩部分重新建立拓?fù)?,因?yàn)榫€是由按照一定順序的節(jié)點(diǎn)以及節(jié)點(diǎn)之間的連線組成。當(dāng)一條線從一網(wǎng)格射出時(shí),如果不斷開(kāi)該線重建拓?fù)?,則會(huì)出現(xiàn)如圖6所示的情況,出現(xiàn)了拓?fù)溴e(cuò)誤。圖6中的線段pp1實(shí)際上是不存在的。

2 拓?fù)渲貥?gòu)算法
   
有時(shí)路網(wǎng)結(jié)構(gòu)很復(fù)雜,一條線可能多次穿過(guò)同一網(wǎng)格,即一條線與網(wǎng)格的交點(diǎn)可能不只4個(gè),如果不重建拓?fù)洌赡軙?huì)造成電子地圖畫(huà)面更加混亂。所以在每次求得線與網(wǎng)格邊界交點(diǎn)的時(shí)候,判斷該線是否從網(wǎng)格中射出,如果線從網(wǎng)格中射出則斷開(kāi)該線,并求得交點(diǎn)后重新建立拓?fù)潢P(guān)系。求得線與網(wǎng)格邊界交點(diǎn)的算法如下:
    (1)假設(shè)當(dāng)前網(wǎng)格的編碼為mn。
    (2)如果線L上的一個(gè)節(jié)點(diǎn)P1屬于當(dāng)前網(wǎng)格mn,判斷線L上p1的前一個(gè)節(jié)點(diǎn)P0是否屬于當(dāng)前網(wǎng)格mn,如果p1不屬于當(dāng)前網(wǎng)格mn則轉(zhuǎn)到(3);如果p0屬于當(dāng)前網(wǎng)格mn,則轉(zhuǎn)到(4):如節(jié)點(diǎn)p0不屬于當(dāng)前網(wǎng)格mn,如果p1在格網(wǎng)邊界轉(zhuǎn)到(4);如果p1不在網(wǎng)格邊界上則求P0和p1的連線與網(wǎng)格邊界的交點(diǎn)p,并把p的信息保存到網(wǎng)格mn中,轉(zhuǎn)到(4)。此時(shí)p節(jié)點(diǎn)屬于網(wǎng)格mn。
    (3)如果線L上的一個(gè)節(jié)點(diǎn)P1不屬于當(dāng)前網(wǎng)格,判斷p1在線L上的前一個(gè)點(diǎn)P0是否屬于網(wǎng)格mn,如果p0不屬于網(wǎng)格mn,則轉(zhuǎn)到(4)。如果節(jié)點(diǎn)p0屬于當(dāng)前網(wǎng)格mn,此時(shí)線L從網(wǎng)格mn射出,如果p0在網(wǎng)格邊界,轉(zhuǎn)到(4);如果p0不在網(wǎng)格邊界則求P0和P1的連線與網(wǎng)格mn邊界的交點(diǎn)p,把線L斷開(kāi)重建拓?fù)?/strong>關(guān)系。并把p的信息保存到網(wǎng)格mn中,轉(zhuǎn)到(4)。此時(shí)節(jié)點(diǎn)p屬于網(wǎng)格mn。
    (4)如果線L上的點(diǎn)處理完畢則返回,否則繼續(xù)(2),直到線L上的所有點(diǎn)處理判斷完畢。
    流程圖如圖7所示。



3 數(shù)據(jù)分級(jí)組織
   
導(dǎo)航系統(tǒng)在使用過(guò)程中,用戶的興趣點(diǎn)不同,會(huì)放大電子地圖查看某個(gè)區(qū)域更詳細(xì)的信息。把電子地圖數(shù)據(jù)分級(jí)適合地圖縮放功能的實(shí)現(xiàn)。假如電子地圖最初顯示的地圖為x級(jí),放大一次就是顯示x+1級(jí)地圖,縮小一次就顯示x-1級(jí)地圖。
    如圖8所示,瀏覽x級(jí)地圖,假設(shè)x級(jí)地圖顯示m(m=4)塊格網(wǎng)的數(shù)據(jù);此時(shí)地圖放大一級(jí)變成x+1級(jí)地圖,如果地圖放大了s倍(s=2),此時(shí)重新讀取地圖數(shù)據(jù),只需讀取m/s2塊網(wǎng)格即可。相反,如果地圖縮小一級(jí),x-1級(jí)地圖需讀取的網(wǎng)格數(shù)為m×s2(16塊)。


    不同級(jí)別的地圖數(shù)據(jù)顯示的內(nèi)容不同。在縮放最小一級(jí)地圖時(shí),只顯示地圖的區(qū)界和背景。假如把地圖放大到某一級(jí)別,此時(shí)電子地圖顯示地區(qū)名稱、高速公路以及名稱、鐵路等地圖信息;再次把該電子地圖放大一級(jí)則顯示當(dāng)前城市的主要地區(qū)名稱和主要路段。放縮的級(jí)別劃分根據(jù)不同的地理情況處理。可以認(rèn)為,高級(jí)別的地圖是對(duì)低級(jí)別地圖的補(bǔ)充。[!--empirenews.page--]
    電子地圖數(shù)據(jù)包括地物點(diǎn)、線、區(qū)域等。地圖的屬性分為地區(qū)名稱、學(xué)校名稱、公司名稱等,線又分層劃分為一級(jí)道路、二級(jí)道路、三級(jí)道路、水系等?;谏鲜鲭娮拥貓D數(shù)據(jù)的特點(diǎn),根據(jù)中國(guó)行政單位的劃分,把電子地圖數(shù)據(jù)分層。電子地圖數(shù)據(jù)分層可以加快數(shù)據(jù)的讀取,也方便電子地圖數(shù)據(jù)的存儲(chǔ)。

4 嵌入式電子地圖實(shí)現(xiàn)
   
本文使用的嵌入式開(kāi)發(fā)平臺(tái)為:cpu s3c2440,64M nandflash,64M ram,1Gsd卡,480*272 LCD。本文選擇QT/Embedded作為圖形界面,并結(jié)合雙緩沖機(jī)制QT/Embedded實(shí)現(xiàn)了嵌入式電子地圖。
    使用雙緩沖畫(huà)圖,是避免地圖在漫游、放縮的時(shí)候產(chǎn)生屏幕閃爍比較常見(jiàn)的方法。主要過(guò)程如下:
    (1)把需要顯示的網(wǎng)格,畫(huà)在OPximap上。
    (2)通過(guò)bitblt()函數(shù)把QPximap上的圖像拷貝到顯示組件。
    根據(jù)LCD的尺寸劃分網(wǎng)格大小,即網(wǎng)格的寬為480,長(zhǎng)為272。某一級(jí)別的電子地圖每次讀取9個(gè)網(wǎng)格數(shù)據(jù),此時(shí)LCD屏幕的大小和格網(wǎng)的大小一樣,每次讀取9個(gè)網(wǎng)格數(shù)據(jù),其中一個(gè)網(wǎng)格數(shù)據(jù)顯示在LCD屏幕上,其它8個(gè)網(wǎng)格的數(shù)據(jù)為預(yù)取數(shù)據(jù)。如圖9所示,網(wǎng)格22部分是LCD屏幕:


    如圖10所示,圖像拖至左邊邊界。程序每次讀取9個(gè)網(wǎng)格數(shù)據(jù),LCD屏幕尺寸和一個(gè)網(wǎng)格一樣大。根據(jù)LCD屏幕大小規(guī)定邊界,比如圖像向x軸正方向移動(dòng)480像素時(shí),即到了圖像左邊邊界。每次拖動(dòng)圖像至邊界,然后讀取相鄰網(wǎng)格數(shù)據(jù),重新繪制地圖,這樣處理節(jié)省了系統(tǒng)開(kāi)銷,而且不需每次拖動(dòng)圖像的時(shí)候都要重新繪制地圖而造成屏幕抖動(dòng)或閃爍。
    圖像向x軸正向拖動(dòng)至邊界如圖10所示,網(wǎng)格21為L(zhǎng)CD屏幕。在拖動(dòng)到邊界后,再次拖動(dòng)地圖,根據(jù)網(wǎng)格的編碼讀取其相鄰的網(wǎng)格數(shù)據(jù)。拖動(dòng)后的圖像如圖11所示,格網(wǎng)21區(qū)域是LCD屏幕。


    地圖放縮時(shí),根據(jù)放縮級(jí)別,讀取相應(yīng)級(jí)別的格網(wǎng)數(shù)據(jù),重新繪制圖像并把圖像拷貝到屏幕相應(yīng)位置。在本文中,電子地圖數(shù)據(jù)放在sd卡來(lái)讀取。

5 結(jié)論
   
依據(jù)本文的數(shù)據(jù)組織策略,不同級(jí)別的電子地圖在嵌入式設(shè)備上漫游時(shí),圖像都可以平滑移動(dòng),時(shí)間延遲可以忽略,達(dá)到了嵌入式地圖漫游的要求。而且依據(jù)本文的數(shù)據(jù)組織策略,建立一個(gè)合適的格網(wǎng)索引機(jī)制,在搜索地圖和路徑規(guī)劃時(shí),結(jié)合搜索算法,以網(wǎng)格為單位索引,也可以加快數(shù)據(jù)搜索速度。圖12是地圖數(shù)據(jù)測(cè)試界面。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉