專(zhuān)利名稱(chēng):基于空間實(shí)體視圖模型的要素標(biāo)注的沖突檢測(cè)與避讓方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于空間實(shí)體視圖模型的要素標(biāo)注的沖突檢測(cè)與避讓方法,屬于 空間信息技術(shù)、計(jì)算機(jī)圖形學(xué)、虛擬現(xiàn)實(shí)技術(shù)和計(jì)算機(jī)操作系統(tǒng)等領(lǐng)域。
背景技術(shù):
空間實(shí)體主要表達(dá)方式是通過(guò)電子地圖來(lái)展示的,電子地圖是將空間實(shí)體通過(guò)一 定的硬件和軟件在電子屏幕上顯示的可視地圖,是空間實(shí)體在電子屏幕上符號(hào)化顯示的過(guò) 程。給空間實(shí)體賦予的用于在電子地圖上顯示的屬性和圖示化信息,稱(chēng)之為要素。點(diǎn)實(shí)體 對(duì)應(yīng)點(diǎn)要素,線實(shí)體對(duì)應(yīng)線要素,面實(shí)體對(duì)應(yīng)面要素。隨著GIS技術(shù)的快速發(fā)展和廣泛應(yīng)用,空間數(shù)據(jù)呈爆炸式增長(zhǎng),特別是網(wǎng)絡(luò)GIS應(yīng) 用的公眾化,使得對(duì)海量空間實(shí)體在網(wǎng)絡(luò)環(huán)境下顯示的網(wǎng)絡(luò)電子地圖的需求越來(lái)越迫切。電子地圖中,要素的標(biāo)注,是要素在電子地圖上顯示的極其重要的一部分。電子地 圖顯示要求遵循清晰、易讀、美觀、信息豐富和高效的原則,要能很好地解決要素標(biāo)注問(wèn)題, 最重要的是點(diǎn)、線、面等要素的標(biāo)注的沖突檢測(cè)與避讓?zhuān)蟾鱾€(gè)標(biāo)注之間不能有壓蓋,標(biāo) 注不能壓蓋點(diǎn)要素,標(biāo)注盡量避開(kāi)線要素。目前要素標(biāo)注的沖突檢測(cè)與避讓方法存在的問(wèn)題是1、效率太低以及需要多次 讀取空間數(shù)據(jù)和屬性數(shù)據(jù)進(jìn)行計(jì)算,無(wú)法滿足海量空間數(shù)據(jù)在網(wǎng)絡(luò)環(huán)境下電子地圖的高效 顯示,例如常用的局部搜索法,每次在進(jìn)行幾何計(jì)算前都會(huì)將所有相關(guān)的標(biāo)注取出,計(jì)算完 畢后再將其釋放掉。2、功能上不能滿足要求,如網(wǎng)格法,類(lèi)似于網(wǎng)格索引,是根據(jù)文字大小 計(jì)算出一個(gè)網(wǎng)格尺寸,將屏幕切分為若干個(gè)網(wǎng)格建立一個(gè)屏幕網(wǎng)格索引(采用的是屏幕坐 標(biāo))。但標(biāo)注字體的大小往往不完全一樣,如標(biāo)志性要素及地名的標(biāo)注字體一般較大,還有 要素的標(biāo)注往往有傾斜角度,以及標(biāo)注不能壓蓋點(diǎn)實(shí)體,同時(shí)又要盡量避開(kāi)線實(shí)體,這些問(wèn) 題上述所建立的網(wǎng)格法都不能解決,而且以一個(gè)文字的尺寸來(lái)劃分網(wǎng)格,不能保證盡量多 地顯示要素的標(biāo)注信息,因?yàn)闀?huì)有很多本應(yīng)該能顯示的標(biāo)注被舍棄掉了。
發(fā)明內(nèi)容
本發(fā)明的目的在于解決上述的技術(shù)問(wèn)題,提供一種既能滿足上述的功能要求,且 不需要多次讀取和傳輸空間數(shù)據(jù)的效率非常高的基于空間實(shí)體視圖模型的要素標(biāo)注的沖 突檢測(cè)與避讓方法。本發(fā)明的目的通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn)一種基于空間實(shí)體視圖模型(簡(jiǎn)稱(chēng)“模型”)的要素標(biāo)注的沖突檢測(cè)與避讓方法, 包括如下步驟1)、初始化“模型”;2)、通過(guò)“模型”的像素操作模塊將需要標(biāo)注避讓的要素進(jìn)行柵格化;3)、通過(guò)“模型”進(jìn)行要素標(biāo)注的沖突檢測(cè)和避讓分析。具體來(lái)說(shuō)
本發(fā)明步驟1)中初始化“模型”為通過(guò)“模型”的初始化模塊給“模型”的柵格 數(shù)據(jù)賦初始值和給“模型”的控制參數(shù)賦值。將實(shí)際的視圖模式賦值給“模型”的視圖模式,視圖模式包括二維視圖模式和三維 視圖模式;將實(shí)際顯示的視圖窗口的外包矩形賦值給“模型”視圖窗口的外包矩形,它是顯 示空間實(shí)體視圖窗口的范圍,如計(jì)算機(jī)屏幕顯示電子地圖的窗口的范圍;根據(jù)視圖窗口的 外包矩形給模型分配柵格數(shù)據(jù),模型柵格數(shù)據(jù)結(jié)構(gòu)的選取用2個(gè)比特位數(shù)據(jù)表示模型視 圖窗口的一個(gè)像素,其中用第一個(gè)比特位表示是否有禁止標(biāo)注壓蓋的要素在此像素上的柵 格化,第二個(gè)比特位表示是否有需要標(biāo)注盡量避開(kāi)壓蓋的要素在此像素上的柵格化;并給 分配的柵格數(shù)據(jù)賦初始值0 ;如果視圖模式是二維視圖模式
a)將客戶端查詢空間實(shí)體的矩形范圍賦值給“模型”的查詢空間實(shí)體的矩形范 圍;b)計(jì)算出實(shí)際顯示的視圖窗口中空間實(shí)體的放大比例,計(jì)算方法是“模型”視圖 窗口的外包矩形的寬度除以“模型”的查詢空間實(shí)體的矩形的寬度所得的值和“模型”視圖 窗口的外包矩形的高度除以“模型”的查詢空間實(shí)體的矩形的高度所得的值中較小的作為 放大比例,將此放大比例賦值給“模型”視圖中空間實(shí)體的放大比例,它表示空間實(shí)體在視 圖窗口中顯示的大小。如果視圖模式是三維視圖模式a)給視點(diǎn)參數(shù)賦值,視點(diǎn)參數(shù)包括1)視點(diǎn)在世界坐標(biāo)系中的位置0(x。,y。,ζ。), x0, y。,Z0表示視點(diǎn)在世界坐標(biāo)系中的三個(gè)分量;2)視點(diǎn)所觀察的目標(biāo)位置A(xa,ya, za) ;3) 虛擬照相機(jī)向上的向量up(xup,yup,zup)。通過(guò)視點(diǎn)參數(shù)可以確定一個(gè)變換矩陣,將世界坐標(biāo) 系中的頂點(diǎn)坐標(biāo)變換到視點(diǎn)坐標(biāo)系下;b)給投影參數(shù)賦值,投影參數(shù)包括正交投影和透視投影;根據(jù)視圖窗口的外包矩 形和投影參數(shù)確定視景體,視圖窗口的外包矩形決定視景體的大小,投影參數(shù)決定視景體 的形狀,如果投影參數(shù)為正交投影,則視景體為成直角的平行六面體,如果投影參數(shù)為透視 投影,則視景體為一個(gè)棱錐的平截臺(tái)體(棱臺(tái))。當(dāng)空間實(shí)體從世界坐標(biāo)變換到視點(diǎn)坐標(biāo)以 后,空間實(shí)體在視景體內(nèi)的,經(jīng)過(guò)投影將落在視圖內(nèi)而被顯示;空間實(shí)體在視景體外的,則 被裁剪掉;在基于深度的顯示操作中,用視景體裁剪掉在前裁剪面之前以及在后裁剪面之 后的空間實(shí)體,因此根據(jù)具體情況,有的還需要設(shè)置視景體的視角、近裁剪面到視點(diǎn)的距離 和遠(yuǎn)裁剪面到視點(diǎn)的距離等參數(shù)。步驟2),通過(guò)“模型”的像素操作模塊,將禁止標(biāo)注壓蓋的要素在柵格數(shù)據(jù)的第 一個(gè)比特位上柵格化,將需要標(biāo)注盡量避開(kāi)壓蓋的要素在柵格數(shù)據(jù)的第二個(gè)比特位上柵格 化。步驟3),通過(guò)“模型”進(jìn)行要素標(biāo)注的沖突檢測(cè)和避讓分析①獲得要素的標(biāo)注字符串,根據(jù)文本屬性獲得標(biāo)注字符串的寬度和高度(像素坐 標(biāo));②根據(jù)要素標(biāo)注的顯示規(guī)則(優(yōu)先顯示的位置)來(lái)依次生成恰好包含標(biāo)注字符串 的幾何面標(biāo)注區(qū)域;③根據(jù)幾何面的繪圖方法,通過(guò)“模型”的像素操作模塊,尋找出幾何面所要繪制的像素中,其第一個(gè)比特位都是O、第二個(gè)比特位為1的像素個(gè)數(shù)最少的幾何面作為標(biāo)注顯示的區(qū)域;④如果沒(méi)有找到幾何面標(biāo)注區(qū)域,此要素的標(biāo)注則不顯示,如果找到,則將此標(biāo)注 顯示區(qū)域的每個(gè)像素的第一個(gè)比特位的值設(shè)為1。本發(fā)明的有益效果主要體現(xiàn)在1、計(jì)算量小,效率高,并且不需要多次讀取空間數(shù) 據(jù)和屬性數(shù)據(jù)進(jìn)行計(jì)算。2、能支持復(fù)雜的分析判斷,滿足電子地圖要素標(biāo)注各項(xiàng)要求。
下面結(jié)合附圖對(duì)本發(fā)明技術(shù)方案作進(jìn)一步說(shuō)明圖1 本發(fā)明基于空間實(shí)體視圖模型的要素標(biāo)注沖突檢測(cè)和避讓方法的流程示意 圖。圖2 本發(fā)明基于空間實(shí)體視圖模型的標(biāo)注區(qū)域選定的第一實(shí)施例的示意圖。
具體實(shí)施例方式本發(fā)明基于一種空間實(shí)體視圖模型,簡(jiǎn)單來(lái)說(shuō),即空間實(shí)體視圖模型能模擬實(shí)際 的視圖窗口環(huán)境,預(yù)先對(duì)空間實(shí)體的空間數(shù)據(jù)進(jìn)行分析和選取,進(jìn)而僅將有用的空間數(shù)據(jù) 傳輸至實(shí)際的視圖窗口。其空間實(shí)體視圖模型至少包括1)數(shù)據(jù)結(jié)構(gòu)柵格數(shù)據(jù)結(jié)構(gòu),模型中用柵格數(shù)據(jù)來(lái)表示二維柵格圖像,把視圖窗 口平面劃分成均勻的網(wǎng)格,每個(gè)網(wǎng)格單元稱(chēng)為像素,柵格數(shù)據(jù)結(jié)構(gòu)就是像素陣列,柵格中的 每個(gè)像素是柵格數(shù)據(jù)中最基本的信息存儲(chǔ)單元,其坐標(biāo)位置可以用行號(hào)和列號(hào)確定。由于 柵格數(shù)據(jù)是按一定規(guī)則排列的,所以表示的實(shí)體位置關(guān)系是隱含在行號(hào)、列號(hào)之中的。每個(gè) 像素值用于代表空間實(shí)體的屬性或?qū)傩缘木幋a。2)模型的控制參數(shù)(約束條件)包括視圖模式,視圖窗口的外包矩形(像素坐 標(biāo)),視圖中空間實(shí)體的放大比例,空間實(shí)體的查詢范圍矩形,視點(diǎn)參數(shù),投影參數(shù)。3)模型的控制模塊包括初始化模塊,用于給“模型”的柵格數(shù)據(jù)賦初始值和給 “模型”的控制參數(shù)賦值;坐標(biāo)變換模塊,用于將矢量數(shù)據(jù)的原始坐標(biāo)系下的坐標(biāo)點(diǎn)根據(jù)“模 型”的控制參數(shù)變換為視圖窗口坐標(biāo)系下的坐標(biāo)點(diǎn);像素操作模塊,用于給像素賦值(柵格 化)、讀取和判定像素值。如圖1所示,本發(fā)明的基于“模型”的要素標(biāo)注方法在執(zhí)行前必須首先初始化所述 的“模型”,即通過(guò)“模型”的初始化模塊用于給“模型”的柵格數(shù)據(jù)賦初始值和給“模型”的 控制參數(shù)賦值。具體包括將實(shí)際的視圖模式賦值給“模型”的視圖模式,視圖模式包括二維視圖 模式和三維視圖模式;將實(shí)際顯示的視圖窗口的外包矩形賦值給“模型”視圖窗口的外包矩 形,它是顯示空間實(shí)體視圖窗口的范圍,如計(jì)算機(jī)屏幕顯示電子地圖的窗口的范圍;根據(jù)視 圖窗口的外包矩形給模型分配柵格數(shù)據(jù),模型柵格數(shù)據(jù)結(jié)構(gòu)的選取用2個(gè)比特位數(shù)據(jù)表 示模型視圖窗口的一個(gè)像素,其中用第一個(gè)比特位表示是否有禁止標(biāo)注壓蓋的要素在此像 素上的柵格化,第二個(gè)比特位表示是否有需要標(biāo)注盡量避開(kāi)壓蓋的要素在此像素上的柵格 化。并給分配的柵格數(shù)據(jù)賦初始值0。如果視圖模式是二維視圖模式
a)將客戶端查詢空間實(shí)體的矩形范圍賦值給“模型”的查詢空間實(shí)體的矩形范 圍;b)計(jì)算出實(shí)際顯示的視圖窗口中空間實(shí)體的放大比例,計(jì)算方法是“模型”視圖 窗口的外包矩形的寬度除以“模型”的查詢空間實(shí)體的矩形的寬度所得的值和“模型”視圖 窗口的外包矩形的高度除以“模型”的查詢空間實(shí)體的矩形的高度所得的值中較小的作為 放大比例,將此放大比例賦值給“模型”視圖中空間實(shí)體的放大比例,它表示空間實(shí)體在視 圖窗口中顯示的大小。如果視圖模式是三維視圖模式
a)給視點(diǎn)參數(shù)賦值,視點(diǎn)參數(shù)包括1)視點(diǎn)在世界坐標(biāo)系中的位置0(x。,y。,ζ。), x0, y。,Z0表示視點(diǎn)在世界坐標(biāo)系中的三個(gè)分量;2)視點(diǎn)所觀察的目標(biāo)位置A(xa,ya, za) ;3) 虛擬照相機(jī)向上的向量up(xup,yup,zup)。通過(guò)視點(diǎn)參數(shù)可以確定一個(gè)變換矩陣,將世界坐標(biāo) 系中的頂點(diǎn)坐標(biāo)變換到視點(diǎn)坐標(biāo)系下;b)給投影參數(shù)賦值,投影參數(shù)包括正交投影和透視投影;根據(jù)視圖窗口的外包矩 形和投影參數(shù)確定視景體,視圖窗口的外包矩形決定視景體的大小,投影參數(shù)決定視景體 的形狀,如果投影參數(shù)為正交投影,則視景體為成直角的平行六面體,如果投影參數(shù)為透視 投影,則視景體為一個(gè)棱錐的平截臺(tái)體(棱臺(tái))。當(dāng)空間實(shí)體從世界坐標(biāo)變換到視點(diǎn)坐標(biāo)以 后,空間實(shí)體在視景體內(nèi)的,經(jīng)過(guò)投影將落在視圖內(nèi)而被顯示;空間實(shí)體在視景體外的,則 被裁剪掉;在基于深度的顯示操作中,用視景體裁剪掉在前裁剪面之前以及在后裁剪面之 后的空間實(shí)體,因此根據(jù)具體情況,有的還需要設(shè)置視景體的視角、近裁剪面到視點(diǎn)的距離 和遠(yuǎn)裁剪面到視點(diǎn)的距離等參數(shù)。當(dāng)完成上述“模型”準(zhǔn)備步驟后,接著按順序完成下述步驟步驟一、通過(guò)“模型”的像素操作模塊,將禁止標(biāo)注壓蓋的要素在柵格數(shù)據(jù)的第一 個(gè)比特位上柵格化,將需要標(biāo)注盡量避開(kāi)壓蓋的要素在柵格數(shù)據(jù)的第二個(gè)比特位上柵格 化。步驟二、通過(guò)“模型”進(jìn)行要素標(biāo)注的沖突檢測(cè)和避讓分析< 一 >獲得要素的標(biāo)注字符串,根據(jù)文本屬性獲得標(biāo)注字符串的寬度和高度(像素 坐標(biāo));< 二 >根據(jù)要素標(biāo)注的顯示規(guī)則(優(yōu)先顯示的位置)來(lái)依次生成恰好包含標(biāo)注字 符串的幾何面標(biāo)注區(qū)域;<三 > 根據(jù)幾何面的繪圖方法,通過(guò)“模型”的像素操作模塊,尋找出幾何面所要繪 制的像素中,其第一個(gè)比特位都是0、第二個(gè)比特位為1的像素個(gè)數(shù)最少的幾何面作為標(biāo)注 顯示的區(qū)域。需要說(shuō)明的是,如果沒(méi)有找到幾何面標(biāo)注區(qū)域,此要素的標(biāo)注則不顯示,如果找 至IJ,則將此標(biāo)注顯示區(qū)域的每個(gè)像素的第一個(gè)比特位的值設(shè)為1。下面參照?qǐng)D2舉例具體說(shuō)明圖2為點(diǎn)要素標(biāo)注顯示規(guī)則中的一種,圖中位置1表示此位置優(yōu)先級(jí)最高,2次之, 0表示此位置禁止放置標(biāo)注。中間白色矩形為點(diǎn)要素顯示的區(qū)域。具體來(lái)講,假設(shè)點(diǎn)要素顯示的區(qū)域左上角的坐標(biāo)點(diǎn)為Pl (XI,Yl),右下角的坐標(biāo) 點(diǎn)為P2(X2,Y2),其中Y2大于Y1,字符串的寬度為width,高度為height,標(biāo)注的矩形區(qū)域LR(LP1,LP2),其中左上角的坐標(biāo)點(diǎn)LPl (LXl,LYl),右下角的坐標(biāo)點(diǎn)LP2(LX2,LY2)。標(biāo)注 的顯示區(qū)域設(shè)為L(zhǎng)R',LR'的初始值設(shè)為空。具體步驟如下1、計(jì)算優(yōu)先級(jí)別最高的放置位置的標(biāo)注的矩形區(qū)域LXl = X2,LYl = Yl+(Y2-Yl)/2-height/2LX2 = LXl+widthLY2 = LYl+height2、通過(guò)“模型”的像素操作模塊和矩形區(qū)域的繪圖算法,判定矩形區(qū)域LR所包 含的像素的值,如果所有的像素的第一個(gè)比特位都是0,則將區(qū)域LR賦值給LR',同時(shí)記 錄矩形區(qū)域LR所包含的像素的第二個(gè)比特位為1的像素個(gè)數(shù),假設(shè)為linePixel,如果 IinePixel也為0,則此區(qū)域LR就是標(biāo)注的顯示區(qū)域,并執(zhí)行步驟3 ;否則執(zhí)行下列操作(1)、往下尋找①往下移動(dòng)1個(gè)像素的坐標(biāo),即LYl = LY1+1,LY2 = LY2+1,如果LY2的值大于 Y2+height的值則停止向下尋找,執(zhí)行步驟(2)。否則判定矩形區(qū)域LR所包含的像素的值, 如果所有像素的第一個(gè)比特位都是0,則記錄矩形區(qū)域LR所包含的像素的第二個(gè)比特位為 1的像素個(gè)數(shù),如果小于linePixel,則將此值賦給linePixel,并將此標(biāo)注的矩形區(qū)域賦給 LR'②如果linePixel等于0,則此區(qū)域LR'就是標(biāo)注的顯示區(qū)域,執(zhí)行步驟3,否則重 復(fù)執(zhí)行①操作。(2)、如果往下尋找沒(méi)有找到標(biāo)注的顯示區(qū)域,則步驟1處計(jì)算的位置往上尋找①往上移動(dòng)1個(gè)像素的坐標(biāo),即LYl = LY1-1,LY2 = LY2-1,如果LYl的值小于 Yl-height的值則停止向上尋找,執(zhí)行步驟3,否則判定矩形區(qū)域LR所包含的像素的值,如 果所有的像素的第一個(gè)比特位都是0,則記錄矩形區(qū)域LR所包含的像素的第二個(gè)比特位為 1的像素個(gè)數(shù),如果小于linePixel,則將此值賦給linePixel,并將此標(biāo)注的矩形區(qū)域賦給 LR'②如果linePixel等于0,則此區(qū)域LR'就是標(biāo)注的顯示區(qū)域,否則重復(fù)執(zhí)行①操作。3、如果LR'的值不為空,則LR'就是標(biāo)注的顯示區(qū)域,否則就是沒(méi)有找到,此要 素的標(biāo)注則不顯示。需要說(shuō)明的是,圖2僅僅為了公示用以表明標(biāo)注區(qū)域的選定方法,本發(fā)明還可包 括其他標(biāo)注顯示規(guī)則,凡采用等同替換或者等效變換而形成的所有技術(shù)方案,均落在本發(fā) 明要求保護(hù)的范圍之內(nèi)。
權(quán)利要求
一種基于空間實(shí)體視圖模型的要素標(biāo)注的沖突檢測(cè)與避讓方法,其特征在于包括如下步驟,1)、初始化空間實(shí)體視圖模型;2)、通過(guò)空間實(shí)體視圖模型的像素操作模塊將需要標(biāo)注避讓的的要素進(jìn)行柵格化;3)、通過(guò)空間實(shí)體視圖模型進(jìn)行要素標(biāo)注的沖突檢測(cè)和避讓分析。
2.根據(jù)權(quán)利要求1所述的基于空間實(shí)體視圖模型的要素標(biāo)注的沖突檢測(cè)與避讓方法, 其特征在于所述空間實(shí)體視圖模型至少包括柵格數(shù)據(jù)結(jié)構(gòu)、模型的控制參數(shù)以及模型的 控制模塊;所述柵格數(shù)據(jù)結(jié)構(gòu)為像素陣列,所述像素為視圖窗口平面劃分成的均勻網(wǎng)格單元,所 述像素是柵格數(shù)據(jù)中最基本的信息存儲(chǔ)單元,其坐標(biāo)位置可以用行號(hào)和列號(hào)確定;所述模型的控制參數(shù)至少包括視圖模式,視圖窗口的外包矩形;所述視圖模式包括二 維視圖模式和三維視圖模式,當(dāng)模型的視圖為二維視圖模式時(shí),所述控制參數(shù)至少還包括 查詢空間實(shí)體的矩形范圍和視圖中空間實(shí)體的放大比例;當(dāng)模型的視圖為三維視圖模式 時(shí),所述控制參數(shù)至少還包括視點(diǎn)參數(shù)和投影參數(shù);所述模型的控制模塊包括初始化模塊,用于給模型的柵格數(shù)據(jù)賦初始值和給模型的控 制參數(shù)賦值;坐標(biāo)變換模塊,用于將矢量數(shù)據(jù)的原始坐標(biāo)系下的坐標(biāo)點(diǎn)根據(jù)模型的控制參 數(shù)變換為視圖窗口坐標(biāo)系下的坐標(biāo)點(diǎn);像素操作模塊,用于給模型的像素賦值,以及讀取和 判定像素值。
3.根據(jù)權(quán)利要求2所述的基于空間實(shí)體視圖模型的要素標(biāo)注的沖突檢測(cè)與避讓方法, 其特征在于所述初始化空間實(shí)體視圖模型包括通過(guò)空間實(shí)體視圖模型的初始化模塊給空 間實(shí)體視圖模型的柵格數(shù)據(jù)賦初始值和給空間實(shí)體視圖模型的控制參數(shù)賦值。
4.根據(jù)權(quán)利要求3所述的基于空間實(shí)體視圖模型的要素標(biāo)注的沖突檢測(cè)與避讓方法, 其特征在于所述初始化空間實(shí)體視圖模型包括如下步驟,(1)給視圖模式賦值為二維視圖模式;(2)給顯示空間實(shí)體視圖窗口范圍的視圖窗口外包矩形賦值;(3)根據(jù)視圖窗口的外包矩形給模型分配柵格數(shù)據(jù);(4)給分配的柵格數(shù)據(jù)賦初始值;(5)給查詢空間實(shí)體的矩形范圍賦值,用于將此范圍內(nèi)的空間實(shí)體顯示在視圖窗口中;(6)給視圖中空間實(shí)體的放大比例賦值。
5.根據(jù)權(quán)利要求4所述的基于空間實(shí)體視圖模型的要素標(biāo)注的沖突檢測(cè)與避讓方法, 其特征在于所述空間實(shí)體視圖模型的視圖中空間實(shí)體的放大比例賦值步驟中,包括如下 步驟,(1)比較視圖窗口的外包矩形的寬度除以查詢空間實(shí)體的矩形的寬度所得的值和視圖 窗口的外包矩形的高度除以查詢空間實(shí)體的矩形的高度所得的值;(2)比較所得的較小的值作為空間實(shí)體的放大比例。
6.根據(jù)權(quán)利要求3所述的基于空間實(shí)體視圖模型的要素標(biāo)注的沖突檢測(cè)與避讓方法, 其特征在于所述初始化空間實(shí)體視圖模型包括如下步驟,(1)給視圖模式賦值為三維視圖模式;(2)給顯示空間實(shí)體視圖窗口范圍的視圖窗口外包矩形賦值;(3)根據(jù)視圖窗口的外包矩形給模型分配柵格數(shù)據(jù);(4)給分配的柵格數(shù)據(jù)賦初始值;(5)給視點(diǎn)參數(shù)賦值,用于將世界坐標(biāo)系中的頂點(diǎn)坐標(biāo)變換到視點(diǎn)坐標(biāo)系下;(6)給投影參數(shù)賦值,并根據(jù)視圖窗口的外包矩形和投影參數(shù)確定視景體。
7.根據(jù)權(quán)利要求4至6所述的任意一種基于空間實(shí)體視圖模型的要素標(biāo)注的沖突檢測(cè) 與避讓方法,其特征在于所述模型柵格數(shù)據(jù)結(jié)構(gòu)的分配選取方法為用2個(gè)比特位數(shù)據(jù)表 示模型視圖窗口的一個(gè)像素,其中用第一個(gè)比特位表示是否有禁止標(biāo)注壓蓋的要素在此像 素上的柵格化,第二個(gè)比特位表示是否有需要標(biāo)注盡量避開(kāi)壓蓋的要素在此像素上的柵格 化。
8.根據(jù)權(quán)利要求1所述的基于空間實(shí)體視圖模型的要素標(biāo)注的沖突檢測(cè)與避讓方法, 其特征在于所述步驟2)中,通過(guò)空間實(shí)體視圖模型的像素操作模塊,將禁止標(biāo)注壓蓋的 要素在柵格數(shù)據(jù)的第一個(gè)比特位上柵格化,將需要標(biāo)注盡量避開(kāi)壓蓋的要素在柵格數(shù)據(jù)的 第二個(gè)比特位上柵格化。
9.根據(jù)權(quán)利要求1所述的基于空間實(shí)體視圖模型的要素標(biāo)注的沖突檢測(cè)與避讓方法, 其特征在于所述步驟3)通過(guò)空間實(shí)體視圖模型進(jìn)行要素標(biāo)注的沖突檢測(cè)和避讓分析的 步驟包括,①獲得要素的標(biāo)注字符串,根據(jù)文本屬性獲得標(biāo)注字符串的寬度和高度;②根據(jù)要素標(biāo)注的優(yōu)先顯示的位置來(lái)依次生成恰好包含標(biāo)注字符串的幾何面標(biāo)注區(qū)域;③根據(jù)幾何面的繪圖方法,通過(guò)空間實(shí)體視圖模型的像素操作模塊,尋找出幾何面所 要繪制的像素中,其第一個(gè)比特位都是0、第二個(gè)比特位為1的像素個(gè)數(shù)最少的幾何面作為 標(biāo)注顯示的區(qū)域。
10.根據(jù)權(quán)利要求9所述的基于空間實(shí)體視圖模型的要素標(biāo)注的沖突檢測(cè)與避讓方 法,其特征在于如果沒(méi)有找到幾何面標(biāo)注區(qū)域,此要素的標(biāo)注則不顯示;如果找到幾何面 標(biāo)注區(qū)域,則將此標(biāo)注顯示區(qū)域的每個(gè)像素的第一個(gè)比特位的值設(shè)為1。
全文摘要
本發(fā)明提供了一種基于空間實(shí)體視圖模型的要素標(biāo)注的沖突檢測(cè)與避讓方法,通過(guò)空間實(shí)體視圖模型中像素操作模塊來(lái)進(jìn)行要素標(biāo)注的沖突檢測(cè)與避讓分析,最終找到要素標(biāo)注的顯示區(qū)域。本發(fā)明的有益效果主要體現(xiàn)在1、計(jì)算量小,效率高,并且不需要多次讀取空間數(shù)據(jù)和屬性數(shù)據(jù)進(jìn)行計(jì)算。2、能支持復(fù)雜的分析判斷,滿足電子地圖要素標(biāo)注各項(xiàng)要求。
文檔編號(hào)G06T11/00GK101833779SQ20101014410
公開(kāi)日2010年9月15日 申請(qǐng)日期2010年3月21日 優(yōu)先權(quán)日2010年3月21日
發(fā)明者董福田 申請(qǐng)人:董福田