專利名稱:電子地圖系統(tǒng)中立交道路的渲染方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子地圖數(shù)據(jù)處理技術(shù),尤其涉及一種電子地圖系統(tǒng)中立交道路的渲染方法和裝置。
背景技術(shù):
電子地圖(Electronic map),即數(shù)字地圖,是利用計(jì)算機(jī)技術(shù),以數(shù)字方式存儲(chǔ)和查閱的地圖。電子地圖儲(chǔ)存資訊的方法,一般使用矢量式圖像儲(chǔ)存,地圖比例可放大、縮小或旋轉(zhuǎn)而不影響顯示效果,早期使用位圖式儲(chǔ)存,地圖比例不能放大或縮小,現(xiàn)代電子地圖處理系統(tǒng)一般利用基于互聯(lián)網(wǎng)來儲(chǔ)存和傳送地圖數(shù)據(jù),使得用戶可以隨時(shí)隨地查詢電子地圖。在電子地圖處理系統(tǒng)中,立體交叉道路的渲染技術(shù)是一個(gè)難點(diǎn)。所謂立體交叉道路簡稱立交道路,是指實(shí)際不相交但在地平面上的投影相交的兩條或多條道路,例如組成北京西直門橋的多條道路。立交道路渲染需要兩種原始的矢量數(shù)據(jù)信息,即:道路基本信息和道路的立體交叉關(guān)系信息(簡稱為立交關(guān)系信息)。所述道路基本信息記錄于道路數(shù)據(jù)中,一條道路的基本信息包括幾何位置信息和道路屬性信息。所述幾何位置信息對(duì)應(yīng)一條折線,用一串坐標(biāo)點(diǎn)表示;道路屬性信息通常包括道路標(biāo)識(shí)ID、道路名稱、道路等級(jí)(如高速,國道,主路等各種等級(jí))等。圖1為道路矢量數(shù)據(jù)對(duì)應(yīng)的幾何位置信息表象圖,參見圖1展示了多條道路數(shù)據(jù)對(duì)應(yīng)的幾何位置信息的表象,每條道路數(shù)據(jù)對(duì)應(yīng)一條折線,折線上的點(diǎn)表示折線的節(jié)點(diǎn)。所述道路的立交關(guān)系信息記錄于立體交叉點(diǎn)數(shù)據(jù)中,一條立體交叉點(diǎn)數(shù)據(jù)記錄包括該點(diǎn)的坐標(biāo)和對(duì)應(yīng)的上下層道路ID。一個(gè)立體交叉點(diǎn)對(duì)應(yīng)于三維空間中不相交的兩條路段在水平面上投影的交點(diǎn)。圖2為道路的立體交叉點(diǎn)數(shù)據(jù)對(duì)應(yīng)的幾何表象圖。如圖2所示,所述的圓點(diǎn)對(duì)應(yīng)立體交叉點(diǎn),每個(gè)立體交叉點(diǎn)處有上下兩層道路。圖3為現(xiàn)有的電子地圖系統(tǒng)中的道路渲染基本原理示意圖。參見圖3,首先要將道路矢量數(shù)據(jù)進(jìn)行符號(hào)化,映射到折線圖元,然后利用繪圖引擎渲染折線圖元,得到道路相應(yīng)的道路光柵圖像。一個(gè)折線圖元可以設(shè)置相應(yīng)的渲染屬性,如:折線的寬度、填充顏色、線冒和平滑連接方式等。圖4為道路渲染技術(shù)用到的三種典型線冒示意圖。參見圖4,線冒通常有三種:方帽(butt cap),圓帽(round cap)和突方帽(projecting square cap),主要用來調(diào)整折線兩端點(diǎn)的繪制形狀。圖5為道路渲染技術(shù)用到的三種典型平滑連接方式示意圖。參見圖5,平滑連接方式通常有三種:斜角連接(miter join),圓連接(round join)和斜切連接(bevel join),主要用來平滑折線相鄰線段之間的銜接處。通過將道路矢量數(shù)據(jù)映射到不同渲染屬性的折線圖元,可以渲染出不同樣式的道路圖像。但是,對(duì)于電子地圖中立體交叉道路的渲染,現(xiàn)有技術(shù)普遍存在著渲染出的立交道路地圖與實(shí)際的立交道路的符合程度不高的問題,無法向用戶給出正確的地圖指引,有時(shí)甚至?xí)`導(dǎo)用戶。例如具體體現(xiàn)主要有三種類型:
I)下層道路的內(nèi)部或邊界部分覆蓋或完全覆蓋了上層道路,沒有充分體現(xiàn)出上下層次關(guān)系。如圖6a為某現(xiàn)有的電子地圖系統(tǒng)渲染出的北京萬泉河橋處的立交顯示示意圖,如圖中圈線內(nèi)所示,下層道路覆蓋了黃色上層道路的一部分。如圖6b為某現(xiàn)有電子地圖系統(tǒng)渲染出的上海兩高速路處的立交顯示示意圖,如圖中圈線內(nèi)所示,立體交叉道路的層次關(guān)系體現(xiàn)的不明顯。如圖6c為某現(xiàn)有電子地圖系統(tǒng)渲染出的北京四惠橋處的立交顯示示意圖,如其中的圈線內(nèi)所示,其下層道路覆蓋上層道路的問題比圖6a所示的電子地圖更明顯。2)立交處附近的平面交叉處多余的道路邊界阻塞了平面交叉的連通性。如圖6d為某現(xiàn)有電子地圖系統(tǒng)渲染出的北京四惠橋處的立交顯示示意圖,如圖中的圈線內(nèi)所示,實(shí)際連通的兩條路卻被渲染的道路邊界阻塞了連通性。3)道路寬度在立交處的兩側(cè)發(fā)生突變。如圖6e為某現(xiàn)有電子地圖系統(tǒng)渲染出的北京學(xué)院橋處的立交顯示,如其中的圈線內(nèi)所示,北四環(huán)中路的道路寬度在立交處的兩側(cè)發(fā)生了明顯的突變。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種電子地圖系統(tǒng)中立交道路的渲染方法和裝置,以提高渲染出的立交道路地圖與實(shí)際的立交道路的符合程度。本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:一種電子地圖系統(tǒng)中立交道路的渲染方法,包括:根據(jù)立交道路的立交關(guān)系信息截取位于立體交叉點(diǎn)處上層道路的子路段作為上層路段;根據(jù)立交道路的立交關(guān)系信息截取從平面交叉點(diǎn)處向各分支方向延伸的子路段,作為平面交叉修正路段;在渲染時(shí),根據(jù)立交道路的基本信息渲染立交道路的平面交叉圖,其中包括各路段的輪廓和填充區(qū);重新渲染所述截取出的上層路段的輪廓和填充區(qū);重新渲染所述截取出的平面交叉修正路段的填充區(qū)。一種電子地圖系統(tǒng)中立交道路的渲染裝置,包括:平面交叉渲染模塊,用于根據(jù)立交道路的基本信息渲染出立交道路的平面交叉圖,其中包括各路段的輪廓和填充區(qū);上層路段截取模塊,用于根據(jù)立交道路的立交關(guān)系信息截取位于立體交叉點(diǎn)處上層道路的子路段作為上層路段;立體交叉渲染模塊,用于重新渲染所述截取出的上層路段的輪廓和填充區(qū);平面交叉修正路段截取模塊,用于根據(jù)立交道路的立交關(guān)系信息截取從平面交叉點(diǎn)處向各分支方向延伸的子路段,作為平面交叉修正路段;平面交叉修正渲染模塊,用于重新渲染所述截取出的平面交叉修正路段的填充區(qū)。與現(xiàn)有技術(shù)相比,本發(fā)明先渲染立交道路的平面交叉圖,再重新渲染上層路段的輪廓和填充區(qū),最后重新渲染平面交叉修正路段的填充區(qū),通過這種重新修正渲染的方式,修正了原始平面交叉圖中的道路層次關(guān)系以及連通性等問題,提高了渲染出的立交道路地圖與實(shí)際的立交道路的符合程度。
圖1為道路矢量數(shù)據(jù)對(duì)應(yīng)的幾何位置信息表象圖;圖2為道路的立體交叉點(diǎn)數(shù)據(jù)對(duì)應(yīng)的幾何表象圖;圖3為現(xiàn)有的電子地圖系統(tǒng)中的道路渲染基本原理示意圖;圖4為道路渲染技術(shù)用到的三種典型線冒示意圖;圖5為道路渲染技術(shù)用到的三種典型平滑連接方式示意圖;圖6a為某現(xiàn)有的電子地圖系統(tǒng)渲染出的北京萬泉河橋處的立交顯示示意圖;圖6b為某現(xiàn)有電子地圖系統(tǒng)值染出的上海兩聞速路處的立交顯不不意圖;圖6c為某現(xiàn)有電子地圖系統(tǒng)渲染出的北京四惠橋處的立交顯示示意圖;圖6d為某現(xiàn)有電子地圖系統(tǒng)渲染出的北京四惠橋處的立交顯示示意圖;圖6e為某現(xiàn)有電子地圖系統(tǒng)渲染出的北京學(xué)院橋處的立交顯示示意圖;圖7為本發(fā)明所述方法的一種實(shí)施例的流程圖;圖8為本發(fā)明所述的平面交叉渲染完所有道路輪廓后的一種立交道路示意圖;圖9為本發(fā)明所述的一種經(jīng)過平面交叉渲染后的立交道路平面交叉圖;圖10為本發(fā)明截取的上層路段的一種立交道路示意圖;圖11為本發(fā)明所述立體交叉渲染后的一種立交道路示意圖;圖12為本發(fā)明截取的平面交叉修正路段的一種立交道路示意圖;圖13為本發(fā)明所述的經(jīng)過平面交叉修正渲染后的一種立交道路示意圖;圖14為本發(fā)明所述電子地圖系統(tǒng)中立交道路的渲染裝置的一種組成示意圖;圖15a為利用本發(fā)明渲染出的北京萬泉河橋處的一種立交道路示意圖;圖15b為利用本發(fā)明值染出的上海兩聞速路處的一種立交道路不意圖;圖15c為利用本發(fā)明渲染出的北京四惠橋處的一種立交道路示意圖;圖15d為利用本發(fā)明渲染出的北京四惠橋處的一種立交道路示意圖;圖15e為利用本發(fā)明渲染出的北京學(xué)院橋處的立交道路示意圖。
具體實(shí)施例方式下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的說明。本發(fā)明的技術(shù)方案為:根據(jù)立交道路的立交關(guān)系信息截取位于立體交叉點(diǎn)處上層道路的子路段作為上層路段;根據(jù)立交道路的立交關(guān)系信息截取從平面交叉點(diǎn)處向各分支方向延伸的子路段,作為平面交叉修正路段;在渲染時(shí),先根據(jù)立交道路的基本信息渲染出立交道路的平面交叉圖,其中包括各路段的輪廓和填充區(qū);再重新渲染所述截取出的上層路段的輪廓和填充區(qū),從而渲染出具有層次關(guān)系的立交道路的立體交叉圖;最后重新渲染所述截取出的平面交叉修正路段的填充區(qū)。圖7為本發(fā)明所述方法的一種實(shí)施例的流程圖。參見圖7,該實(shí)施例的立交道路的渲染方法由平面交叉渲染、立體交叉渲染和平面交叉修正渲染這三大步驟組成。首先是平面交叉渲染步驟。在這一步中,本發(fā)明不考慮道路立體交叉的情形,認(rèn)為所有道路都在同一個(gè)水平面上,道路與道路之間的交叉都在同一個(gè)水平面上。對(duì)于一條道路,為了繪制出該道路的輪廓線(border line),本發(fā)明先繪制該道路的輪廓(border),然后再繪制該道路的填充區(qū)(fill)。道路輪廓的寬度(border width)等于填充區(qū)寬度(fill width)加上兩個(gè)輪廓邊線的寬度(border line width),即:border width = fillwidth+2x border line width。道路輪廓中沒有被道路填充區(qū)覆蓋的地方就是道路輪廓邊線。對(duì)于多條道路,為了保證平面交叉的道路在交叉點(diǎn)處填充區(qū)的連通性,本發(fā)明先繪制所有道路的輪廓,然后再繪制所有道路的填充區(qū)。為了體現(xiàn)高等級(jí)道路填充區(qū)的連續(xù)性,本發(fā)明先渲染低等級(jí)的道路,然后再渲染高等級(jí)的道路。所述平面交叉渲染的具體步驟為:步驟701、按道路等級(jí)由低到高的順序依次渲染每條道路的輪廓。如圖8所示為一種渲染完所有道路輪廓后的圖像,假設(shè)此處的平滑連接方式設(shè)置為圓連接,線冒設(shè)置為圓帽。步驟702、按道路等級(jí)由低到高的順序依次渲染每條道路的填充區(qū),得到平面交叉圖。如圖9所示為一種經(jīng)過平面交叉渲染后的平面交叉圖,假設(shè)此處的平滑連接方式設(shè)置為圓連接,線冒設(shè)置為圓帽。如圖9所示,經(jīng)過平面交叉渲染后,道路與道路在相交點(diǎn)處的填充區(qū)(fill)相通,體現(xiàn)了平面交叉的連通性;其次,高等級(jí)道路(圖中黃色道路)的填充區(qū)保持連續(xù),低等級(jí)道路(圖中白色道路)的填充區(qū)被高等級(jí)道路的填充區(qū)隔斷,體現(xiàn)了高等級(jí)道路填充區(qū)的連續(xù)性優(yōu)先于低等級(jí)道路填充區(qū)的連續(xù)性,從而在一定程度上體現(xiàn)了高等級(jí)道路的主干地位。其次是立體交叉渲染步驟,在這一步中,本發(fā)明將在上一步平面交叉渲染的基礎(chǔ)上,渲染出道路立體交叉的層次效果。為了渲染出立體交叉的上下層次關(guān)系,應(yīng)該使上層道路的輪廓邊線(border line)和填充區(qū)(fill)在立體交叉點(diǎn)處覆蓋下層道路的輪廓邊線和填充區(qū)。因此,本發(fā)明需要截取位于立體交叉點(diǎn)處的上層道路的子路段作為上層路段,然后重新渲染這樣的上層路段。所述立體交叉渲染具體包括以下步驟:步驟703、根據(jù)立交道路的立交關(guān)系信息截取位于立體交叉點(diǎn)處上層道路的子路段作為上層路段。此處截取所述上層路段的具體方式為:在不涉及道路寬度的條件下截取位于至少一條道路之上、且不位于任何道路之下的子路段作為上層路段。圖10為本發(fā)明截取的上層路段的一種示意圖。參見圖10,其中加粗的子路段就表示截取的上層路段。該步驟在具體實(shí)現(xiàn)時(shí),可以先在道路折線中添加虛擬節(jié)點(diǎn):立交點(diǎn)。即將所有立交點(diǎn)作為節(jié)點(diǎn)插入到涉及的道路折線中。每個(gè)立交點(diǎn)涉及兩條道路折線,插入到對(duì)應(yīng)上層道路(在該立交點(diǎn)相對(duì)位于上層)折線的立交點(diǎn)稱為上立交點(diǎn),插入到對(duì)應(yīng)下層道路(在該立交點(diǎn)相對(duì)位于下層)折線的立交點(diǎn)稱為下立交點(diǎn)。這樣,一條道路折線的節(jié)點(diǎn)類型共有4種:實(shí)際平面交叉點(diǎn),實(shí)際非平面交叉點(diǎn),虛擬上立交點(diǎn),和虛擬下立交點(diǎn)。本說明書中稱實(shí)際平面交叉點(diǎn)和虛擬下交叉點(diǎn)為A類交叉點(diǎn),實(shí)際非平面交叉點(diǎn)和虛擬上立交點(diǎn)為B類交叉點(diǎn)。然后,選取截點(diǎn)截取上層片段,截點(diǎn)一般取在A類交叉點(diǎn)和虛擬上立交點(diǎn)為首末端點(diǎn)的子折線之間的某點(diǎn),注意這段子折線之間只允許包括一種節(jié)點(diǎn)類型:實(shí)際非平面交叉點(diǎn),通??梢赃x取這段子折線的中點(diǎn)(折線的中點(diǎn)即距該折線的首末端點(diǎn)的折線距離相等的點(diǎn))作為截點(diǎn),另外上層片段還應(yīng)包含至少一個(gè)上立交點(diǎn)。步驟704、將所有上層路段按照由下到上的順序進(jìn)行拓?fù)渑判?。在本步驟704中,需要考慮到道路渲染寬度,這時(shí)上層路段并非絕對(duì)地位于上層,不同的上層路段之間可能存在著相對(duì)的上下關(guān)系,因此,本發(fā)明在涉及道路寬度的條件下,按照由下至上的順序?qū)λ厝〉纳蠈勇范芜M(jìn)行拓?fù)渑判颍员惚WC下一個(gè)步驟中優(yōu)先渲染位于下層的上層路段。該步驟在具體實(shí)現(xiàn)時(shí),可以按下述方法確定出上層路段間可能存在的相對(duì)上下關(guān)系。按定義,上層片段只包括B類交叉點(diǎn)和截點(diǎn),不包含下立交點(diǎn),所以只有在考慮道路寬度的條件下,才有了相對(duì)的上下關(guān)系序的概念。因?yàn)樯舷玛P(guān)系總是集中體現(xiàn)在立交點(diǎn)處,因此可以通過立交點(diǎn)來確定出所有上層路段間可能存在的相對(duì)上下關(guān)系。所有的上層片段間的上下關(guān)系構(gòu)成一個(gè)集合K,K中的每個(gè)元素為一個(gè)key-value對(duì),key為實(shí)際立交點(diǎn)(一個(gè)實(shí)際立交點(diǎn)對(duì)應(yīng)兩個(gè)虛擬立交點(diǎn):上立交點(diǎn)和下立交點(diǎn))的id,value為一個(gè)二元組(相對(duì)在下的上層片段id,相對(duì)在上的上層片段id)。集合K的計(jì)算方法如下:初始時(shí),集合K為空。對(duì)每一個(gè)上層片段,在包含該上層片段的道路折線的節(jié)點(diǎn)序列中,找出最左邊(即該道路節(jié)點(diǎn)序列中第一個(gè)出現(xiàn)的)的該上層片段中的上立交點(diǎn)Ul和最右邊(即該道路節(jié)點(diǎn)序列中最后一個(gè)出現(xiàn)的)的該上層片段中的上立交點(diǎn)U2,以及上立交點(diǎn)Ul左邊的距Ul最近的一個(gè)下立交點(diǎn)LI (如果有,該下立交點(diǎn)不屬于該上層片段,但屬于包含該上層片段的道路折線)和下立交點(diǎn)U2右邊的距U2最近的一個(gè)下立交點(diǎn)L2 (如果有,該下立交點(diǎn)不屬于該上層片段,但屬于包含該上層片段的道路折線)。如果LI與Ul的距離小于某個(gè)閾值(這個(gè)閾值體現(xiàn)了道路寬度的影響),那么在集合K中將key為“LI對(duì)應(yīng)的實(shí)際立交點(diǎn)的id”的value的第I分量設(shè)置為該上層片段的id ;如果L2與U2的距離小于某個(gè)閾值(這個(gè)閾值體現(xiàn)了道路寬度的影響),那么在集合K中將key為“L2對(duì)應(yīng)的實(shí)際立交點(diǎn)的id”的value的第I分量設(shè)置為該上層片段的id。另外,對(duì)該上層片段中的每個(gè)上立交點(diǎn)在集合K中將key為“該上立交點(diǎn)對(duì)應(yīng)的實(shí)際立交點(diǎn)的id”的value的第2分量設(shè)置為該上層片段的id。上面算出集合K之后,去掉集合K中value分量設(shè)置不全的key-value對(duì)(即如果K中的某個(gè)元素的value存在某個(gè)分量沒有被設(shè)置,那么從集合K中刪除)。這樣,就計(jì)算出了所有的上層片段之間可能存在的上下關(guān)系。步驟705、按照所述截取出的上層路段的拓?fù)渑判?,由下至上依次重新渲染所截取出的所述上層路段的輪廓和填充區(qū)。假設(shè)此處的平滑連接方式設(shè)置為圓連接,對(duì)于輪廓,線冒設(shè)置為butt ;對(duì)于填充區(qū),線冒設(shè)置為square。之后可以得到如圖11所示的立體交叉渲染后的圖像。參見圖11,經(jīng)過立體交叉渲染后,道路與道路在立體交叉點(diǎn)處上層道路的輪廓邊線和填充區(qū)皆覆蓋下層道路的輪廓邊線和填充區(qū),體現(xiàn)了立體交叉的層次性。但是,在道路與道路平面交叉的地方出現(xiàn)了一些過長的輪廓邊線,這些過長的輪廓邊線阻塞了平面交叉點(diǎn)處道路填充區(qū)的連通性。所以,本發(fā)明接下來要利用平面交叉修正渲染過程對(duì)這些過長的輪廓邊線進(jìn)行修正。修正這些過長輪廓邊線的方法就是將受到影響的交叉點(diǎn)處的道路的子路段(平面交叉修正路段)的填充區(qū)重新渲染一遍。所述平面交叉修正渲染過程具體包括以下步驟:步驟706、根據(jù)立交道路的立交關(guān)系信息截取從平面交叉點(diǎn)處向各分支方向延伸的子路段,作為平面交叉修正路段。在一種實(shí)施例中,可以進(jìn)一步考慮道路的渲染寬度,因此具體的截取方式為:在涉及道路寬度的條件下截取從平面交叉點(diǎn)處向各分支方向延伸的、且不位于任何道路之下的子路段,作為平面交叉修正路段。即平面交叉修正路段應(yīng)取包含平面交叉點(diǎn)或以平面交叉點(diǎn)為端點(diǎn)、且不位于任何道路之下的子路段。如圖12所示為一種截取平面交叉修正路段的示意圖,其中加粗的折線就是截取的平面交叉修正路段。在具體的實(shí)現(xiàn)中,截點(diǎn)一般取在普通平面交叉點(diǎn)和A類交叉點(diǎn)為首末端點(diǎn)的子折線之間的某點(diǎn),注意這段子折線之間只允許包括兩種節(jié)點(diǎn)類型:普通非平面交叉點(diǎn)和上立交點(diǎn),并且如果這段子折線的端點(diǎn)類型不同(即不都是普通平面交叉點(diǎn)),那么長度不應(yīng)小于一個(gè)給定的閾值(體現(xiàn)了道路寬度的影響),通??梢赃x取這段子折線的中點(diǎn)(折線的中點(diǎn)即距該折線的首末端點(diǎn)的折線距離相等的點(diǎn))作為截點(diǎn)。另外,修正片段還應(yīng)包含普通平面交叉點(diǎn)至少一個(gè)。步驟707、重新渲染所述截取出的平面交叉修正路段的填充區(qū)。在一種實(shí)施方式中,可以按照道路等級(jí)由低到高的順序依次重新渲染所述截取出的平面交叉修正路段的填充區(qū)。假設(shè)此處的平滑連接方式設(shè)置為圓連接,線冒設(shè)置為圓帽,最終得到如圖13所示的經(jīng)過平面交叉修正渲染后的圖像,如圖13所示,經(jīng)過平面交叉修正渲染后,本發(fā)明最終得到了符合實(shí)際上下層次關(guān)系的立交道路渲染圖像。在本發(fā)明的另外實(shí)施例中,也可以將所述截取上層路段和截取平面交叉修正路段的步驟與渲染步驟分開,即可以先進(jìn)行截取上層路段和截取平面交叉修正路段的計(jì)算,即執(zhí)行步驟703、704以及706,再進(jìn)行立交矢量數(shù)據(jù)層渲染,即依次執(zhí)行所述步驟701、702、705、以及 707。本發(fā)明還公開了實(shí)現(xiàn)上述方法的一種電子地圖系統(tǒng)中立交道路的渲染裝置。如圖14為本發(fā)明所述電子地圖系統(tǒng)中立交道路的渲染裝置的一種組成示意圖。參見圖14,該渲染裝置140包括:平面交叉渲染模塊141,用于根據(jù)立交道路的基本信息渲染出立交道路的平面交叉圖,其中包括各路段的輪廓和填充區(qū)。上層路段截取模塊142,用于根據(jù)立交道路的立交關(guān)系信息截取位于立體交叉點(diǎn)處上層道路的子路段作為上層路段。立體交叉渲染模塊143,用于重新渲染所述上層路段截取模塊142截取出的上層路段的輪廓和填充區(qū),從而渲染出具有層次關(guān)系的立交道路的立體交叉圖。平面交叉修正路段截取模塊144,用于根據(jù)立交道路的立交關(guān)系信息截取從平面交叉點(diǎn)處向各分支方向延伸的子路段,作為平面交叉修正路段。平面交叉修正渲染模塊145,用于重新渲染所述平面交叉修正路段截取模塊144截取出的平面交叉修正路段的填充區(qū),從而對(duì)一些過長的輪廓邊線進(jìn)行修正。在一種實(shí)施例中,所述上層路段截取模塊142具體包括截取子模塊和拓?fù)渑判蜃幽K。所述截取子模塊用于根據(jù)立交道路的立交關(guān)系信息,在不涉及道路寬度的條件下截取位于至少一條道路之上、且不位于任何道路之下的子路段作為上層路段;所述拓?fù)渑判蜃幽K用于根據(jù)立交道路的立交關(guān)系信息,在涉及道路寬度的條件下,按照由下至上的順序?qū)λ厝〉纳蠈勇范芜M(jìn)行拓?fù)渑判颍徊⑶?,所述立體交叉渲染模塊143進(jìn)一步用于按照所述截取出的上層路段的拓?fù)渑判颍上轮辽弦来沃匦落秩舅厝〕龅乃錾蠈勇范蔚妮喞吞畛鋮^(qū)。在一種實(shí)施例中,所述平面交叉修正路段截取模塊144截取的作為平面交叉修正路段的子路段為:在涉及道路寬度的條件下,從平面交叉點(diǎn)處向各分支方向延伸的、且不位于任何道路之下的子路段。所述平面交叉修正渲染模塊145按照道路等級(jí)由低到高的順序依次重新渲染所述平面交叉修正路段截取模塊144截取出的所述平面交叉修正路段的填充區(qū)。利用本發(fā)明,實(shí)現(xiàn)了一種從道路原始矢量數(shù)據(jù)到電子地圖光柵圖像的立交道路的自動(dòng)渲染方案??梢允沟秒娮拥貓D上渲染的立交道路顯示效果更加符合實(shí)際立交道路的上下層次關(guān)系,可以解決現(xiàn)有技術(shù)中存在所述三種主要類型的缺陷。如圖15a為利用本發(fā)明渲染出的北京萬泉河橋處的一種立交道路示意圖,解決了如圖6a圈線內(nèi)所示的下層道路覆蓋上層道路一部分的問題。如圖15b為利用本發(fā)明渲染出的上海兩高速路處的一種立交道路示意圖,解決了圖6b中圈線內(nèi)所示的立體交叉道路層次關(guān)系體現(xiàn)的不明顯的問題。如圖15c為利用本發(fā)明渲染出的北京四惠橋處的一種立交道路示意圖,解決了圖6c中的圈線內(nèi)所示的下層道路覆蓋上層道路的問題。如圖15d為利用本發(fā)明渲染出的北京四惠橋處的一種立交道路示意圖,解決了如圖6d中的圈線內(nèi)所示的填充區(qū)實(shí)際連通的兩條路被渲染的道路邊界阻塞了連通性的問題,該圖中的兩條道路的填充區(qū)實(shí)際連通,只是由于兩條道路的等級(jí)不同導(dǎo)致其填充區(qū)的顏色不同。如圖15e為利用本發(fā)明渲染出的北京學(xué)院橋處的立交道路示意圖。解決了如圖6e中圈線內(nèi)所示的北四環(huán)中路的道路寬度在立交處的兩側(cè)發(fā)生了明顯突變的問題。另外,本發(fā)明可以應(yīng)用在手機(jī)矢量電子地圖中。所謂手機(jī)矢量電子地圖是指:通過網(wǎng)絡(luò)下載地理信息矢量數(shù)據(jù),在手機(jī)上的電子地圖渲染客戶端進(jìn)行矢量數(shù)據(jù)渲染的電子地圖。區(qū)別于通過網(wǎng)絡(luò)下載離線渲染好的光柵電子地片,在客戶端進(jìn)行拼接顯示的手機(jī)光柵電子地圖。本發(fā)明應(yīng)用在手機(jī)矢量電子地圖中還有兩個(gè)個(gè)額外的優(yōu)點(diǎn):1)將立交矢量數(shù)據(jù)層截取計(jì)算(即所述根據(jù)立交道路的立交關(guān)系信息截取位于立體交叉點(diǎn)處上層道路的子路段作為上層路段,以及根據(jù)立交道路的立交關(guān)系信息截取從平面交叉點(diǎn)處向各分支方向延伸的子路段作為平面交叉修正路段)與渲染分離,可以非常方便地實(shí)現(xiàn)手機(jī)矢量電子地圖的立交道路層次關(guān)系。2)所述截取計(jì)算出來的立交矢量數(shù)據(jù)層數(shù)據(jù)量非常小,手機(jī)矢量電子地圖實(shí)現(xiàn)立交道路層次關(guān)系基本不增加數(shù)據(jù)傳輸流量。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種電子地圖系統(tǒng)中立交道路的渲染方法,其特征在于,包括: 根據(jù)立交道路的立交關(guān)系信息截取位于立體交叉點(diǎn)處上層道路的子路段作為上層路段;根據(jù)立交道路的立交關(guān)系信息截取從平面交叉點(diǎn)處向各分支方向延伸的子路段,作為平面交叉修正路段; 在渲染時(shí),根據(jù)立交道路的基本信息渲染立交道路的平面交叉圖,其中包括各路段的輪廓和填充區(qū);重新渲染所述截取出的上層路段的輪廓和填充區(qū);重新渲染所述截取出的平面交叉修正路段的填充區(qū)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)立交道路的立交關(guān)系信息截取位于立體交叉點(diǎn)處上層道路的子路段作為上層路段的具體方式為:在不涉及道路寬度的條件下截取位于至少一條道路之上、且不位于任何道路之下的子路段作為上層路段; 該方法在截取出所述上層路段后,進(jìn)一步包括:在涉及道路寬度的條件下,按照由下至上的順序?qū)λ厝〉纳蠈勇范芜M(jìn)行拓?fù)渑判颍? 所述重新渲染 所述截取出的上層路段的輪廓和填充區(qū)的具體方式為:按照所述截取出的上層路段的拓?fù)渑判?,由下至上依次重新渲染所截取出的所述上層路段的輪廓和填充區(qū)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)立交道路的立交關(guān)系信息截取從平面交叉點(diǎn)處向各分支方向延伸的子路段作為平面交叉修正路段的具體方式為:在涉及道路寬度的條件下截取從平面交叉點(diǎn)處向各分支方向延伸的、且不位于任何道路之下的子路段,作為平面交叉修正路段。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述重新渲染所述截取出的平面交叉修正路段的填充區(qū)的具體方式為:按照道路等級(jí)由低到高的順序依次重新渲染所述截取出的平面交叉修正路段的填充區(qū)。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)立交道路的基本信息渲染出立交道路的平面交叉圖的具體方式為: 按道路等級(jí)由低到高的順序依次渲染每條道路的輪廓; 按道路等級(jí)由低到高的順序依次渲染每條道路的填充區(qū)。
6.一種電子地圖系統(tǒng)中立交道路的渲染裝置,其特征在于,包括: 平面交叉渲染模塊,用于根據(jù)立交道路的基本信息渲染出立交道路的平面交叉圖,其中包括各路段的輪廓和填充區(qū); 上層路段截取模塊,用于根據(jù)立交道路的立交關(guān)系信息截取位于立體交叉點(diǎn)處上層道路的子路段作為上層路段; 立體交叉渲染模塊,用于重新渲染所述截取出的上層路段的輪廓和填充區(qū); 平面交叉修正路段截取模塊,用于根據(jù)立交道路的立交關(guān)系信息截取從平面交叉點(diǎn)處向各分支方向延伸的子路段,作為平面交叉修正路段; 平面交叉修正渲染模塊,用于重新渲染所述截取出的平面交叉修正路段的填充區(qū)。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述上層路段截取模塊具體包括: 截取子模塊,用于根據(jù)立交道路的立交關(guān)系信息,在不涉及道路寬度的條件下截取位于至少一條道路之上、且不位于任何道路之下的子路段作為上層路段; 拓?fù)渑判蜃幽K,用于根據(jù)立交道路的立交關(guān)系信息,在涉及道路寬度的條件下,按照由下至上的順序?qū)λ厝〉纳蠈勇范芜M(jìn)行拓?fù)渑判颍? 所述立體交叉渲染模塊進(jìn)一步用于按照所述截取出的上層路段的拓?fù)渑判?,由下至上依次重新渲染所截取出的所述上層路段的輪廓和填充區(qū)。
8.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述平面交叉修正路段截取模塊截取的作為平面交叉修正路段的子路段為:在涉及道路寬度的條件下,從平面交叉點(diǎn)處向各分支方向延伸的、且不位 于任何道路之下的子路段。
全文摘要
本發(fā)明公開了一種電子地圖系統(tǒng)中立交道路的渲染方法和裝置,所述方法包括根據(jù)立交道路的立交關(guān)系信息截取位于立體交叉點(diǎn)處上層道路的子路段作為上層路段;根據(jù)立交道路的立交關(guān)系信息截取從平面交叉點(diǎn)處向各分支方向延伸的子路段,作為平面交叉修正路段;在渲染時(shí),根據(jù)立交道路的基本信息渲染立交道路的平面交叉圖,其中包括各路段的輪廓和填充區(qū);重新渲染所述截取出的上層路段的輪廓和填充區(qū);重新渲染所述截取出的平面交叉修正路段的填充區(qū)。所述裝置包括平面交叉渲染模塊、上層路段截取模塊、立體交叉渲染模塊、平面交叉修正路段截取模塊、以及平面交叉修正渲染模塊。利用本發(fā)明,可以提高渲染出的立交道路地圖與實(shí)際的立交道路的符合程度。
文檔編號(hào)G09B29/00GK103208226SQ201210013868
公開日2013年7月17日 申請(qǐng)日期2012年1月17日 優(yōu)先權(quán)日2012年1月17日
發(fā)明者廖正中, 劉龍, 張弦, 王建宇 申請(qǐng)人:深圳市騰訊計(jì)算機(jī)系統(tǒng)有限公司