嵌入式電子地圖數(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é)點并且斷開原來的線段重建拓?fù)鋪硖幚磉B接線消失的情況。斷開線段p2p3,并求得p2p3與網(wǎng)格00、網(wǎng)格10邊界的交點p,此時p2p屬于網(wǎng)格00中,pp3屬于網(wǎng)格10。如圖4所示。實際上,路段是不規(guī)則的,可能出現(xiàn)如圖5所示的情況。本文引用地址:http://cafeforensic.com/article/148187.htm
從圖5可以看出,一條線從網(wǎng)格射出后,然后再次穿過該網(wǎng)格。并與網(wǎng)格有4個交點。在重建拓?fù)潢P(guān)系的時候,兩次穿過格網(wǎng)中的線要被分成兩部分重新建立拓?fù)?,因為線是由按照一定順序的節(jié)點以及節(jié)點之間的連線組成。當(dāng)一條線從一網(wǎng)格射出時,如果不斷開該線重建拓?fù)洌瑒t會出現(xiàn)如圖6所示的情況,出現(xiàn)了拓?fù)溴e誤。圖6中的線段pp1實際上是不存在的。
2 拓?fù)渲貥?gòu)算法
有時路網(wǎng)結(jié)構(gòu)很復(fù)雜,一條線可能多次穿過同一網(wǎng)格,即一條線與網(wǎng)格的交點可能不只4個,如果不重建拓?fù)?,可能會造成電子地圖畫面更加混亂。所以在每次求得線與網(wǎng)格邊界交點的時候,判斷該線是否從網(wǎng)格中射出,如果線從網(wǎng)格中射出則斷開該線,并求得交點后重新建立拓?fù)潢P(guān)系。求得線與網(wǎng)格邊界交點的算法如下:
(1)假設(shè)當(dāng)前網(wǎng)格的編碼為mn。
(2)如果線L上的一個節(jié)點P1屬于當(dāng)前網(wǎng)格mn,判斷線L上p1的前一個節(jié)點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é)點p0不屬于當(dāng)前網(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不屬于當(dāng)前網(wǎng)格,判斷p1在線L上的前一個點P0是否屬于網(wǎng)格mn,如果p0不屬于網(wǎng)格mn,則轉(zhuǎn)到(4)。如果節(jié)點p0屬于當(dāng)前網(wǎng)格mn,此時線L從網(wǎng)格mn射出,如果p0在網(wǎng)格邊界,轉(zhuǎn)到(4);如果p0不在網(wǎng)格邊界則求P0和P1的連線與網(wǎng)格mn邊界的交點p,把線L斷開重建拓?fù)潢P(guān)系。并把p的信息保存到網(wǎng)格mn中,轉(zhuǎn)到(4)。此時節(jié)點p屬于網(wǎng)格mn。
(4)如果線L上的點處理完畢則返回,否則繼續(xù)(2),直到線L上的所有點處理判斷完畢。
流程圖如圖7所示。
3 數(shù)據(jù)分級組織
導(dǎo)航系統(tǒng)在使用過程中,用戶的興趣點不同,會放大電子地圖查看某個區(qū)域更詳細(xì)的信息。把電子地圖數(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ù)據(jù)顯示的內(nèi)容不同。在縮放最小一級地圖時,只顯示地圖的區(qū)界和背景。假如把地圖放大到某一級別,此時電子地圖顯示地區(qū)名稱、高速公路以及名稱、鐵路等地圖信息;再次把該電子地圖放大一級則顯示當(dāng)前城市的主要地區(qū)名稱和主要路段。放縮的級別劃分根據(jù)不同的地理情況處理??梢哉J(rèn)為,高級別的地圖是對低級別地圖的補充。
評論