0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

電子地圖在嵌入式設(shè)備上進行數(shù)據(jù)分塊組織的方法分析

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-07-02 08:00 ? 次閱讀

引言

近年來,嵌入式Linux得到了快速發(fā)展,它被廣泛應(yīng)用在移動電話、個人數(shù)字助理(PDA)、媒體播放器、消費性電子產(chǎn)品以及航空航天等領(lǐng)域中。車輛導(dǎo)航系統(tǒng)是空間信息產(chǎn)業(yè)中衛(wèi)星導(dǎo)航產(chǎn)業(yè)的一個重要的發(fā)展領(lǐng)域。導(dǎo)航電子地圖數(shù)據(jù)是導(dǎo)航系統(tǒng)的基礎(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ù)的分塊的邊界問題

嵌入式設(shè)備的LCD一般都比較小,本文使用的LCD大小是480×272。嵌入式設(shè)備內(nèi)存也較小,不能一次把所有電子地圖數(shù)據(jù)讀入內(nèi)存,即使能夠把全部數(shù)據(jù)讀入到內(nèi)存,在LCD屏幕上也不能完全顯示,這樣大大浪費了有限的內(nèi)存資源。把嵌入式電子地圖數(shù)據(jù)分塊組織,節(jié)省了嵌入式設(shè)備的CPU和內(nèi)存資源。數(shù)據(jù)地圖數(shù)據(jù)分塊后,原來數(shù)據(jù)的拓撲關(guān)系被破壞,數(shù)據(jù)塊的邊界可能出現(xiàn)問題。比如一條線從一數(shù)據(jù)塊中射出,因為數(shù)據(jù)塊的不同,跨越多個數(shù)據(jù)塊的線會出現(xiàn)線的斷點情況,此時需要重新求得數(shù)據(jù)塊邊界與線的交點,重建拓撲。再者,地圖中的線并不是規(guī)則的折線,可能從一個數(shù)據(jù)塊中射出,而后經(jīng)過彎轉(zhuǎn)重新進入該數(shù)據(jù)塊,數(shù)據(jù)分塊的時候不考慮這個問題,就會出現(xiàn)拓撲錯誤。

本文提出了一種數(shù)據(jù)分塊組織方法。即把一幅地圖按照行列分成行×列個規(guī)則矩形網(wǎng)格(Grid)。為了便于數(shù)據(jù)的讀取,給格網(wǎng)的每個網(wǎng)格進行編碼。如圖1所示把幾條線路分割成4×5個網(wǎng)格。

電子地圖在嵌入式設(shè)備上進行數(shù)據(jù)分塊組織的方法分析

地圖分割成一定數(shù)量的規(guī)則網(wǎng)格后,為便于讀取格網(wǎng)數(shù)據(jù),需要對不同的網(wǎng)格編碼組織。規(guī)則格網(wǎng)是一種普遍應(yīng)用的分塊方法,只需指定在行、列方向上的分塊數(shù)m、n,就可以按照相等的間隔把圖像區(qū)域分為m×n個子塊。假如地圖被分割成i×j個網(wǎng)格的格網(wǎng),格網(wǎng)中的網(wǎng)格用“mn”、“m,n”或Grid(m,n)表示,其中m表示網(wǎng)格行號,n表示網(wǎng)格列號。簡單按照行列進行編碼,比較方便數(shù)據(jù)組織。如上圖:從左上角開始,第一行的網(wǎng)格編碼為00、01、02、03。這種簡單的網(wǎng)格編碼,可以很容易找到其相鄰的網(wǎng)格,如用m表示網(wǎng)格的行號,用n表示網(wǎng)

格的列號,則編碼為Grid(m,n)的網(wǎng)格,其左邊的網(wǎng)格編碼為Grid(m,n-1),右邊相鄰的網(wǎng)格編碼為Grid(m,n+1),如果找其上方下方的網(wǎng)格,只需行號保持不變列號加1或者減1即可。如果一節(jié)點x在網(wǎng)格mn中,則點x屬于網(wǎng)格mn,即x∈Grid(m,n);如果一條線L在網(wǎng)格mn中,則線L屬于網(wǎng)格mn,即L∈Grid(m,n)。

規(guī)則的格網(wǎng)是按照一定的長寬劃分的,假如每個網(wǎng)格的長為272、寬為480,一個長為816寬為960的地圖,就被分成3×2個規(guī)則網(wǎng)格。

電子地圖數(shù)據(jù)包括很多元素,其中包括點、線、區(qū)域等。對于地圖上的點來說,可以很容易判斷其屬于哪個網(wǎng)格。比如點p(242,400),網(wǎng)格的長如果為272,寬為480,則點p屬于第一個網(wǎng)格,其編碼為00。線或區(qū)域分布在很多網(wǎng)格里面,這樣就會與不同的網(wǎng)格邊界有交點,實際上這個交點不一定存在。比如一條線Line,由4個節(jié)點P1、P2、P3、P4組成。Line分布在三個網(wǎng)格中,如圖2所示。

電子地圖在嵌入式設(shè)備上進行數(shù)據(jù)分塊組織的方法分析

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

電子地圖在嵌入式設(shè)備上進行數(shù)據(jù)分塊組織的方法分析

可以看出,P2和P3的點之間的連線消失了。因為,在網(wǎng)格00的數(shù)據(jù)里并沒有P3點的信息,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只有一個點P3,而P3到P2、P4的連接線消失了。此時需要添加節(jié)點并且斷開原來的線段重建拓撲來處理連接線消失的情況。斷開線段p2p3,并求得p2p3與網(wǎng)格00、網(wǎng)格10邊界的交點p,此時p2p屬于網(wǎng)格00中,pp3屬于網(wǎng)格10。如圖4所示。實際上,路段是不規(guī)則的,可能出現(xiàn)如圖5所示的情況。

電子地圖在嵌入式設(shè)備上進行數(shù)據(jù)分塊組織的方法分析

從圖5可以看出,一條線從網(wǎng)格射出后,然后再次穿過該網(wǎng)格。并與網(wǎng)格有4個交點。在重建拓撲關(guān)系的時候,兩次穿過格網(wǎng)中的線要被分成兩部分重新建立拓撲,因為線是由按照一定順序的節(jié)點以及節(jié)點之間的連線組成。當一條線從一網(wǎng)格射出時,如果不斷開該線重建拓撲,則會出現(xiàn)如圖6所示的情況,出現(xiàn)了拓撲錯誤。圖6中的線段pp1實際上是不存在的。

2 拓撲重構(gòu)算法

有時路網(wǎng)結(jié)構(gòu)很復(fù)雜,一條線可能多次穿過同一網(wǎng)格,即一條線與網(wǎng)格的交點可能不只4個,如果不重建拓撲,可能會造成電子地圖畫面更加混亂。所以在每次求得線與網(wǎng)格邊界交點的時候,判斷該線是否從網(wǎng)格中射出,如果線從網(wǎng)格中射出則斷開該線,并求得交點后重新建立拓撲關(guān)系。求得線與網(wǎng)格邊界交點的算法如下:

(1)假設(shè)當前網(wǎng)格的編碼為mn。

(2)如果線L上的一個節(jié)點P1屬于當前網(wǎng)格mn,判斷線L上p1的前一個節(jié)點P0是否屬于當前網(wǎng)格mn,如果p1不屬于當前網(wǎng)格mn則轉(zhuǎn)到(3);如果p0屬于當前網(wǎng)格mn,則轉(zhuǎn)到(4):如節(jié)點p0不屬于當前網(wǎng)格mn,如果p1在格網(wǎng)邊界轉(zhuǎn)到(4);如果p1不在網(wǎng)格邊界上則求P0和p1的連線與網(wǎng)格邊界的交點p,并把p的信息保存到網(wǎng)格mn中,轉(zhuǎn)到(4)。此時p節(jié)點屬于網(wǎng)格mn。

(3)如果線L上的一個節(jié)點P1不屬于當前網(wǎng)格,判斷p1在線L上的前一個點P0是否屬于網(wǎng)格mn,如果p0不屬于網(wǎng)格mn,則轉(zhuǎn)到(4)。如果節(jié)點p0屬于當前網(wǎng)格mn,此時線L從網(wǎng)格mn射出,如果p0在網(wǎng)格邊界,轉(zhuǎn)到(4);如果p0不在網(wǎng)格邊界則求P0和P1的連線與網(wǎng)格mn邊界的交點p,把線L斷開重建拓撲關(guān)系。并把p的信息保存到網(wǎng)格mn中,轉(zhuǎn)到(4)。此時節(jié)點p屬于網(wǎng)格mn。

(4)如果線L上的點處理完畢則返回,否則繼續(xù)(2),直到線L上的所有點處理判斷完畢。

流程圖如圖7所示。

電子地圖在嵌入式設(shè)備上進行數(shù)據(jù)分塊組織的方法分析

3 數(shù)據(jù)分級組織

導(dǎo)航系統(tǒng)在使用過程中,用戶的興趣點不同,會放大電子地圖查看某個區(qū)域更詳細的信息。把電子地圖數(shù)據(jù)分級適合地圖縮放功能的實現(xiàn)。假如電子地圖最初顯示的地圖為x級,放大一次就是顯示x+1級地圖,縮小一次就顯示x-1級地圖。

如圖8所示,瀏覽x級地圖,假設(shè)x級地圖顯示m(m=4)塊格網(wǎng)的數(shù)據(jù);此時地圖放大一級變成x+1級地圖,如果地圖放大了s倍(s=2),此時重新讀取地圖數(shù)據(jù),只需讀取m/s2塊網(wǎng)格即可。相反,如果地圖縮小一級,x-1級地圖需讀取的網(wǎng)格數(shù)為m×s2(16塊)。

電子地圖在嵌入式設(shè)備上進行數(shù)據(jù)分塊組織的方法分析

不同級別的地圖數(shù)據(jù)顯示的內(nèi)容不同。在縮放最小一級地圖時,只顯示地圖的區(qū)界和背景。假如把地圖放大到某一級別,此時電子地圖顯示地區(qū)名稱、高速公路以及名稱、鐵路等地圖信息;再次把該電子地圖放大一級則顯示當前城市的主要地區(qū)名稱和主要路段。放縮的級別劃分根據(jù)不同的地理情況處理??梢哉J為,高級別的地圖是對低級別地圖的補充。

電子地圖數(shù)據(jù)包括地物點、線、區(qū)域等。地圖的屬性分為地區(qū)名稱、學(xué)校名稱、公司名稱等,線又分層劃分為一級道路、二級道路、三級道路、水系等?;谏鲜鲭娮拥貓D數(shù)據(jù)的特點,根據(jù)中國行政單位的劃分,把電子地圖數(shù)據(jù)分層。電子地圖數(shù)據(jù)分層可以加快數(shù)據(jù)的讀取,也方便電子地圖數(shù)據(jù)的存儲。

4 嵌入式電子地圖實現(xiàn)

本文使用的嵌入式開發(fā)平臺為:cpu s3c2440,64M nandflash,64M ram,1Gsd卡,480*272 LCD。本文選擇QT/Embedded作為圖形界面,并結(jié)合雙緩沖機制QT/Embedded實現(xiàn)了嵌入式電子地圖。

使用雙緩沖畫圖,是避免地圖在漫游、放縮的時候產(chǎn)生屏幕閃爍比較常見的方法。主要過程如下:

(1)把需要顯示的網(wǎng)格,畫在OPximap上。

(2)通過bitblt()函數(shù)把QPximap上的圖像拷貝到顯示組件。

根據(jù)LCD的尺寸劃分網(wǎng)格大小,即網(wǎng)格的寬為480,長為272。某一級別的電子地圖每次讀取9個網(wǎng)格數(shù)據(jù),此時LCD屏幕的大小和格網(wǎng)的大小一樣,每次讀取9個網(wǎng)格數(shù)據(jù),其中一個網(wǎng)格數(shù)據(jù)顯示在LCD屏幕上,其它8個網(wǎng)格的數(shù)據(jù)為預(yù)取數(shù)據(jù)。如圖9所示,網(wǎng)格22部分是LCD屏幕:

電子地圖在嵌入式設(shè)備上進行數(shù)據(jù)分塊組織的方法分析

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

圖像向x軸正向拖動至邊界如圖10所示,網(wǎng)格21為LCD屏幕。在拖動到邊界后,再次拖動地圖,根據(jù)網(wǎng)格的編碼讀取其相鄰的網(wǎng)格數(shù)據(jù)。拖動后的圖像如圖11所示,格網(wǎng)21區(qū)域是LCD屏幕。

電子地圖在嵌入式設(shè)備上進行數(shù)據(jù)分塊組織的方法分析

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

5 結(jié)論

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

電子地圖在嵌入式設(shè)備上進行數(shù)據(jù)分塊組織的方法分析


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5046

    文章

    18821

    瀏覽量

    298581
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    34

    文章

    4363

    瀏覽量

    166204
  • 導(dǎo)航
    +關(guān)注

    關(guān)注

    7

    文章

    512

    瀏覽量

    42159
收藏 人收藏

    評論

    相關(guān)推薦

    MCU或MPU上生成AI算法,進行嵌入式設(shè)備操控

    瑞薩電子的e-AI技術(shù)是本公司生產(chǎn)的MCU或MPU上生成AI算法,運用算法嵌入式設(shè)備上進行
    的頭像 發(fā)表于 04-28 09:40 ?8318次閱讀
    MCU或MPU上生成AI算法,<b class='flag-5'>進行</b>對<b class='flag-5'>嵌入式</b><b class='flag-5'>設(shè)備</b>操控

    Windows CE環(huán)境下電子地圖的研制

    復(fù)雜的計算以及時效性較高的數(shù)據(jù)查詢放在服務(wù)器上進行,掌上電腦只存儲最基本的地圖數(shù)據(jù),并且引入XML來格式化傳輸和交換的地圖
    發(fā)表于 06-27 10:20

    嵌入式車載導(dǎo)航信息系統(tǒng)研究

    導(dǎo)航信息系統(tǒng)的應(yīng)用環(huán)境。以車載導(dǎo)航信息系統(tǒng)的導(dǎo)航電子地圖和導(dǎo)航數(shù)據(jù)庫作為重點研究對象。分析導(dǎo)航信息系統(tǒng)中導(dǎo)航電子地圖和導(dǎo)航數(shù)據(jù)庫的實現(xiàn)
    發(fā)表于 04-24 09:31

    3G電子地圖供應(yīng),格式SHP。GST。MAPINFO電子地圖。

    應(yīng)用于交通物流、通訊、導(dǎo)航定位、城市規(guī)劃、空間資源、河流、林業(yè)分析等行業(yè).《給各個個體單位公司提供方便》需要電子地圖的朋友請與我聯(lián)系:QQ:848486066;   
    發(fā)表于 06-05 20:24

    基于微處理器的車載導(dǎo)航電子地圖該怎么設(shè)計?

    車輛遠程診斷儀的主要功能是導(dǎo)航。導(dǎo)航功能的重點是行車路線設(shè)計、自動車輛定位、綜合信息服務(wù)、路徑引導(dǎo)服務(wù)等。導(dǎo)航功能是GIS技術(shù)、通訊技術(shù)、嵌入式技術(shù)和GPS定位等技術(shù)相結(jié)合的綜合應(yīng)用系統(tǒng)。系統(tǒng)
    發(fā)表于 08-26 07:43

    基于微處理器的車載導(dǎo)航電子地圖該怎么設(shè)計?

    通過對GPS定位全天候、高精度、實時性強的特點,可實現(xiàn)對車輛準確實時的跟蹤,通過應(yīng)用GLS技術(shù),則可在電子地圖上顯示車輛的定位信息,明確用戶所在的準確位置。文中介紹了典型的導(dǎo)航系統(tǒng)軟硬件構(gòu)成的基礎(chǔ)上,重點探討了車載導(dǎo)航電子地圖
    發(fā)表于 08-28 07:55

    基于微處理器的車載導(dǎo)航電子地圖該怎么設(shè)計?

    車輛遠程診斷儀的主要功能是導(dǎo)航。導(dǎo)航功能的重點是行車路線設(shè)計、自動車輛定位、綜合信息服務(wù)、路徑引導(dǎo)服務(wù)等。導(dǎo)航功能是GIS技術(shù)、通訊技術(shù)、嵌入式技術(shù)和GPS定位等技術(shù)相結(jié)合的綜合應(yīng)用系統(tǒng)。系統(tǒng)
    發(fā)表于 10-14 08:28

    嵌入式電子地圖數(shù)據(jù)分塊組織是什么?

    。導(dǎo)航電子地圖數(shù)據(jù)是導(dǎo)航系統(tǒng)的基礎(chǔ),其存儲和組織策略是嵌入式導(dǎo)航系統(tǒng)中最基本和重要的一部分。導(dǎo)航是集GIS、GPS、通信、嵌入式軟硬件技術(shù)為
    發(fā)表于 04-10 07:25

    嵌入式系統(tǒng)中電子地圖的路徑尋優(yōu)

    最優(yōu)路徑算法是地理信息科學(xué)與計算機科學(xué)等領(lǐng)域的研究熱點。由于嵌入式系統(tǒng)的特點,其中電子地圖的最優(yōu)路徑規(guī)劃算法,要求快速而高效,為此對一些最優(yōu)路徑搜索算法進行分析,
    發(fā)表于 04-24 10:50 ?27次下載

    基于嵌入式GIS 的地圖查詢系統(tǒng)的實現(xiàn)The impleme

    介紹了一種嵌入式設(shè)備上實現(xiàn)地圖查詢系統(tǒng)的可行方法。系統(tǒng)采用面向?qū)ο蟮某绦蛩枷?b class='flag-5'>進行設(shè)計,實現(xiàn)了對
    發(fā)表于 05-26 16:38 ?23次下載

    什么是電子地圖導(dǎo)航系統(tǒng)

    什么是電子地圖導(dǎo)航系統(tǒng) 電子地圖,開發(fā)初期并無自動導(dǎo)航之意,但在與GPS、3C技術(shù)結(jié)合后,除用作地圖外,還兼具了導(dǎo)向作用。
    發(fā)表于 03-17 14:00 ?2827次閱讀

    嵌入式GPRS數(shù)據(jù)傳輸終端設(shè)計

    利用嵌入式平臺的硬件、軟件技術(shù)、開發(fā)了基于GPRS網(wǎng)絡(luò)進行數(shù)據(jù)傳輸?shù)?b class='flag-5'>嵌入式數(shù)據(jù)傳輸終端設(shè)備。通過設(shè)計一種應(yīng)用層通信協(xié)議,很好地解決了
    發(fā)表于 09-13 11:02 ?62次下載
    <b class='flag-5'>嵌入式</b>GPRS<b class='flag-5'>數(shù)據(jù)</b>傳輸終端設(shè)計

    嵌入式電子地圖快速輸出算法

    嵌入式導(dǎo)航系統(tǒng)( Embedded Navigation System,ENS)是指將導(dǎo)航定位設(shè)備深藏于工業(yè)系統(tǒng)、武器系統(tǒng)或一些機電儀表設(shè)備、消費電子產(chǎn)品內(nèi)部,以完成包含導(dǎo)航定位在內(nèi)的
    發(fā)表于 03-05 15:19 ?0次下載

    基于嵌入式車載導(dǎo)航電子地圖的設(shè)計和實現(xiàn)

    車輛遠程診斷儀的主要功能是導(dǎo)航。導(dǎo)航功能的重點是行車路線設(shè)計、自動車輛定位、綜合信息服務(wù)、路徑引導(dǎo)服務(wù)等。導(dǎo)航功能是 GIS 技術(shù)、通訊技術(shù)、嵌入式技術(shù)和 GPS 定位等技術(shù)相結(jié)合的綜合應(yīng)用系統(tǒng)
    的頭像 發(fā)表于 05-29 03:35 ?9990次閱讀
    基于<b class='flag-5'>嵌入式</b>車載導(dǎo)航<b class='flag-5'>電子地圖</b>的設(shè)計和實現(xiàn)

    提高GIS地圖顯示速度的嵌入式應(yīng)用

    需要顯示的地理要素。 同時考慮到嵌入式設(shè)備顯示屏幕較小, 顯示覆蓋范圍相對有限, 需根據(jù)顯示屏幕尺寸對矢量地圖數(shù)據(jù)進行
    發(fā)表于 08-26 09:13 ?1876次閱讀
    提高GIS<b class='flag-5'>地圖</b>顯示速度的<b class='flag-5'>嵌入式</b>應(yīng)用