本發(fā)明涉及一種電子地圖注記技術(shù),特別涉及一種基于瀏覽器進(jìn)行復(fù)雜網(wǎng)絡(luò)拓?fù)鋱D點(diǎn)要素注記的繪制方法及系統(tǒng)。
背景技術(shù):
注記一直以來(lái)就被當(dāng)成地圖的一部分,解釋地圖的語(yǔ)言,注記位置的配置問(wèn)題是地圖制作過(guò)程中的難題之一。電子地圖方便攜帶,實(shí)時(shí),動(dòng)態(tài)等優(yōu)勢(shì)彌補(bǔ)了傳統(tǒng)地圖體積大、不易攜帶、不易保存等缺點(diǎn)而在越來(lái)越多的領(lǐng)域得到使用。電子地圖有可以任意調(diào)整比例尺、分層顯示、三維立體顯示的特點(diǎn),實(shí)時(shí)、動(dòng)態(tài)的要求使電子地圖中的注記位置擺放更加困難,注記的動(dòng)態(tài)避讓擺放,是一個(gè)典型的NP難度問(wèn)題,而電子地圖的實(shí)時(shí)變化比例尺的特點(diǎn)更需要注記的動(dòng)態(tài)擺放和避讓。國(guó)內(nèi)外學(xué)者針對(duì)點(diǎn)要素注記配置做了諸多主要研究:聚類(lèi)搜索算法、模擬退火算法、神經(jīng)網(wǎng)絡(luò)算法、禁忌搜索算法、遺傳算法、回溯法,以及網(wǎng)格算法等。目前的網(wǎng)絡(luò)上瀏覽器或地圖APP,用的注記方式是將點(diǎn)、線(xiàn)、面注記根據(jù)比例尺大小按點(diǎn)要素重要性選部分點(diǎn)要素進(jìn)行注記配置,在小比例尺情況下房屋等點(diǎn)要素表現(xiàn)為點(diǎn)狀點(diǎn)要素。當(dāng)這些地圖注記標(biāo)注方法用在其他用途上,比如在點(diǎn)要素可以單獨(dú)移動(dòng)的大型復(fù)雜網(wǎng)絡(luò)拓?fù)淠P?,有時(shí)有對(duì)點(diǎn)要素進(jìn)行注記的需要,此時(shí)注記相對(duì)于點(diǎn)要素的位置是固定的,移動(dòng)后就會(huì)出現(xiàn)壓蓋其他點(diǎn)要素注記的情況。大量點(diǎn)要素相鄰時(shí),即便其它點(diǎn)要素有位置放注記,也只有部分點(diǎn)要素能進(jìn)行注記,且屏幕邊緣的點(diǎn)要素注記并沒(méi)有避開(kāi)邊緣,會(huì)出現(xiàn)部分位于屏幕外的情況。此外當(dāng)界面移動(dòng)時(shí),有些點(diǎn)要素有可以顯示注記的位置卻并沒(méi)有放注記。
拓?fù)淇梢暬械狞c(diǎn)要素是拓?fù)鋱D中的重要組成之一,有些拓?fù)鋱D需要知道某些點(diǎn)要素的相關(guān)信息,普通注記的方式無(wú)法滿(mǎn)足拓?fù)鋱D中點(diǎn)要素注記的需求,例如注記相對(duì)于點(diǎn)要素的位置是固定的,在單獨(dú)移動(dòng)某一個(gè)點(diǎn)要素時(shí),一種情況是注記并不隨著點(diǎn)要素移動(dòng);另外一種是點(diǎn)要素和注記的相對(duì)位置不變,移動(dòng)后會(huì)出現(xiàn)壓蓋其它注記的情況,注記的位置也沒(méi)有避開(kāi)屏幕邊緣,出現(xiàn)部分注記位于屏幕內(nèi)情況,會(huì)對(duì)點(diǎn)要素識(shí)別造成困擾,所以需要一種新的注記方式,為點(diǎn)要素標(biāo)注相關(guān)信息,并使點(diǎn)要素之間的注記自動(dòng)避讓?zhuān)换ハ鄩荷w。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,有必要提供一種注記位置能夠根據(jù)屏幕內(nèi)點(diǎn)要素的變化而進(jìn)行動(dòng)態(tài)變化,同時(shí)能夠避免注記在點(diǎn)要素移動(dòng)的情況下發(fā)生被其他注記壓蓋問(wèn)題的基于瀏覽器進(jìn)行復(fù)雜網(wǎng)絡(luò)拓?fù)鋱D點(diǎn)要素注記的繪制方法及系統(tǒng)。
一種基于瀏覽器進(jìn)行復(fù)雜網(wǎng)絡(luò)拓?fù)鋱D點(diǎn)要素注記的繪制方法,所述基于瀏覽器進(jìn)行復(fù)雜網(wǎng)絡(luò)拓?fù)鋱D點(diǎn)要素注記的繪制方法包括如下步驟:
S1、以點(diǎn)要素最小外接矩形為中心,在點(diǎn)要素最小外接矩形的周?chē)O(shè)置至少一個(gè)候選注記位置;
S2、獲取注記配置所需的參數(shù),篩選出位于屏幕內(nèi)的點(diǎn)要素集合,及位于屏幕內(nèi)的點(diǎn)要素的注記集合;
S3、以候選注記位置的最大范圍作點(diǎn)要素的最大外接矩形,自點(diǎn)要素集合、注記集合中篩選出與最大外接矩形相交的點(diǎn)要素?cái)?shù)組、注記數(shù)組;
S4、篩選出位于屏幕內(nèi)的候選注記位置,并根據(jù)點(diǎn)要素?cái)?shù)組、注記數(shù)組判斷候選注記位置范圍內(nèi)是否有點(diǎn)要素或已標(biāo)注其他注記,根據(jù)判斷結(jié)果決定是否進(jìn)行注記。
一種基于瀏覽器進(jìn)行復(fù)雜網(wǎng)絡(luò)拓?fù)鋱D點(diǎn)要素注記的繪制系統(tǒng),所述基于瀏覽器進(jìn)行復(fù)雜網(wǎng)絡(luò)拓?fù)鋱D點(diǎn)要素注記的繪制系統(tǒng)包括如下功能模塊:
候選位置設(shè)置模塊、用于以點(diǎn)要素最小外接矩形為中心,在點(diǎn)要素最小外接矩形的周?chē)O(shè)置至少一個(gè)候選注記位置;
集合篩選模塊、用于獲取注記配置所需的參數(shù),篩選出位于屏幕內(nèi)的點(diǎn)要素集合,及位于屏幕內(nèi)的點(diǎn)要素的注記集合;
數(shù)組篩選模塊、用于以候選注記位置的最大范圍作點(diǎn)要素的最大外接矩形,自點(diǎn)要素集合、注記集合中篩選出與最大外接矩形相交的點(diǎn)要素?cái)?shù)組、注記數(shù)組;
注記判斷模塊、用于根據(jù)點(diǎn)要素?cái)?shù)組、注記數(shù)組判斷候選注記位置范圍內(nèi)是否有點(diǎn)要素或已標(biāo)注其他注記,并根據(jù)判斷結(jié)果決定是否進(jìn)行注記。
本發(fā)明所述基于瀏覽器進(jìn)行復(fù)雜網(wǎng)絡(luò)拓?fù)鋱D點(diǎn)要素注記的繪制方法及系統(tǒng),其通過(guò)在點(diǎn)要素周?chē)O(shè)置候選注記位置,根據(jù)點(diǎn)要素的實(shí)時(shí)位置變化,判斷其周?chē)欠裼凶銐虻奈恢糜糜谠O(shè)置注記,從而構(gòu)建注記矩形動(dòng)態(tài)避讓模型,使所述注記位置根據(jù)屏幕內(nèi)點(diǎn)要素的變化而變化,避免了注記在點(diǎn)要素移動(dòng)的情況下發(fā)生被其他注記壓蓋問(wèn)題,同時(shí)對(duì)屏幕內(nèi)點(diǎn)要素進(jìn)行注記位置配置,注記會(huì)自動(dòng)避開(kāi)屏幕邊緣,因此不會(huì)出現(xiàn)注記的一部分位于屏幕外的情況。本發(fā)明所述基于瀏覽器進(jìn)行復(fù)雜網(wǎng)絡(luò)拓?fù)鋱D點(diǎn)要素注記的繪制方法及系統(tǒng)既可以最大數(shù)量的將點(diǎn)要素注記顯示出來(lái),還可以避免注記被屏幕邊緣壓蓋出現(xiàn)混淆的情況。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例的基于瀏覽器進(jìn)行復(fù)雜網(wǎng)絡(luò)拓?fù)鋱D點(diǎn)要素注記的繪制方法流程圖;
圖2是本發(fā)明實(shí)施例中注記位置分布順序圖;
圖3是圖1中步驟S2的子流程圖;
圖4是圖1中步驟S3的子流程圖;
圖5是本發(fā)明實(shí)施例中點(diǎn)要素最小外接矩形及最大外接矩形示意圖;
圖6為本發(fā)明實(shí)施例中步驟S2至步驟S3的工作流程示意圖;
圖7是圖1中步驟S4的子流程圖;
圖8是本發(fā)明實(shí)施例中步驟S4的工作流程示意圖;
圖9是本發(fā)明實(shí)施例的特殊位置點(diǎn)要素效果圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明,應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
如圖1所示,本發(fā)明實(shí)施例提供一種基于瀏覽器進(jìn)行復(fù)雜網(wǎng)絡(luò)拓?fù)鋱D點(diǎn)要素注記的繪制方法,所述基于瀏覽器進(jìn)行復(fù)雜網(wǎng)絡(luò)拓?fù)鋱D點(diǎn)要素注記的繪制方法包括如下步驟:
S1、以點(diǎn)要素j的最小外接矩形為中心,在點(diǎn)要素j最小外接矩形的周?chē)O(shè)置至少一個(gè)候選注記位置i。
本發(fā)明實(shí)施例中,在點(diǎn)要素j最小外接矩形的上下左右方向標(biāo)記四個(gè)候選注記位置i,且候選注記位置i也是矩形框。
具體的,本發(fā)明實(shí)施例還指定了候選注記位置i的配置規(guī)則
(1)基于英文注記無(wú)法豎向注記,模型中所有注記都是橫向;
(2)如圖2所示,以點(diǎn)要素j最小外接矩形中心為中心,按順時(shí)針?lè)较蛘戏綖楹蜻x注記位置i的第一候選位置,依次類(lèi)推,正右方為第二候選位置,正下方為第三候選位置,正左方為第四候選位置;
(3)若四個(gè)方向均有其它點(diǎn)或者其它注記存在,即沒(méi)有合適的候選位置放注記,將注記放在該候選位置會(huì)壓蓋其它點(diǎn)要素j,那該點(diǎn)就不進(jìn)行注記配置;
(4)若點(diǎn)要素可能沒(méi)有合適注記位置,則按重要性分級(jí)對(duì)注記位置i進(jìn)行配置;
(5)若候選注記位置i與屏幕邊界有相交,則進(jìn)行下一個(gè)候選位置的判斷。具體所述候選注記位置i的最大坐標(biāo)、最小坐標(biāo)以及繪制坐標(biāo)(左下角坐標(biāo))的計(jì)算方法如下:
第一候選位置的最大最小坐標(biāo):
Txmin=x–tw/2;Tymin=y(tǒng)–h/2–lh-dis;
Txmax=x+tw/2;Tymax=y(tǒng)–h/2-dis;
繪制坐標(biāo):Tx=x–tw/2;Ty=y(tǒng)–h/2-dis;
第二候選位置的最大最小坐標(biāo):
Rxmin=x+w/2+dis;Rymin=y(tǒng)–lh/2;
Rxmax=x+w/2+dis+tw;Rymax=y(tǒng)+lh/2;
繪制坐標(biāo):Rx=x+w/2+dis;Ry=y(tǒng)+lh/2;
第三候選位置的最大最小坐標(biāo):
Bxmin=x–tw/2;Bymin=y(tǒng)+h/2+dis;
Bxmax=x+tw/2;Bymax=y(tǒng)+h/2+dis+lh;
繪制坐標(biāo):Bx=x–tw/2;By=y(tǒng)+h/2+dis+lh;
第四候選位置的最大最小坐標(biāo):
Lxmin=x–w/2–dis–tw;Lymin=y(tǒng)–lh/2;
Lxmax=x-w/2–dis;Lymax=y(tǒng)+lh/2;
繪制坐標(biāo):Lx=x–w/2–dis–tw;Ly=y(tǒng)+lh/2。
S2、獲取注記配置所需的參數(shù),篩選出位于屏幕內(nèi)的點(diǎn)要素集合Points,及位于屏幕內(nèi)的點(diǎn)要素j的注記集合Label。
如圖3所示,所述步驟S2包括以下分步驟:
S21、獲取注記配置所需的參數(shù),以屏幕坐標(biāo)范圍為篩選條件,使用矩形判斷法自全部點(diǎn)要素j中篩選出位于屏幕內(nèi)的點(diǎn)要素集合Points;具體的,使用矩形判斷法判斷點(diǎn)要素j是否位于屏幕內(nèi);如果點(diǎn)要素j落入屏幕范圍內(nèi),則歸集到點(diǎn)要素集合Points中,反之則不歸集至點(diǎn)要素集合Points中。
S22、建立一注記集合Label,將根據(jù)點(diǎn)要素集合Points中的點(diǎn)要素j計(jì)算得到的注記位置i歸集至注記集合Label中;所述注記集合Label在還未進(jìn)行位置計(jì)算時(shí)是一個(gè)空數(shù)組,即屏幕中不存在任何注記,則第一個(gè)計(jì)算的點(diǎn)要素j候選注記位置i不會(huì)壓蓋其他的注記,則第一個(gè)計(jì)算的點(diǎn)要素j的四個(gè)候選注記位置i都能夠進(jìn)行注記,將最終得到的注記位置i存入注記集合Label中,從而產(chǎn)生注記集合Label中的第一個(gè)注記位置i,依次循環(huán)進(jìn)行下一個(gè)點(diǎn)要素j注記的計(jì)算,并繼續(xù)將計(jì)算得到的注記位置i存入注記集合Label中。
其中,所述注記配置所需的參數(shù)包括點(diǎn)要素j中心坐標(biāo),點(diǎn)要素j與屏幕邊界平行的最小外接矩形的寬和高,以點(diǎn)要素j注記的寬和高做注記的外接矩形,注記外接矩形距點(diǎn)要素j最小外接矩形的距離,注記的寬,注記的高。
上述矩形判斷法包括以下四種情況:
第一個(gè)矩形的X軸最小坐標(biāo)值大于第二個(gè)矩形的X軸最大坐標(biāo)值;
第一個(gè)矩形的Y軸最大坐標(biāo)值小于第二個(gè)矩形的Y軸最小坐標(biāo)值;
第一個(gè)矩形的X軸最大坐標(biāo)值小于第二個(gè)矩形的X軸最小坐標(biāo)值;
第一個(gè)矩形的Y軸最小坐標(biāo)值大于第二個(gè)矩形的Y軸最大坐標(biāo)值;
如果滿(mǎn)足上述情況中的其中一種,則兩個(gè)矩形不相交,反之兩個(gè)矩形相交。
具體的,假設(shè)兩個(gè)水平方向的矩形A:(ax1,ay1)、(ax2,ay2)、(ax3,ay3)、(ax4,ay4),B:(bx1,by1)、(bx2,by2)、(bx3,by3)、(bx4,by4),坐標(biāo)是從左上角順時(shí)針順序,根據(jù)屏幕坐標(biāo),兩個(gè)矩形最小最大坐標(biāo)即左上角和右下角坐標(biāo)。判斷兩矩形是否相交,若矩形A的X最小值大于B的X的最大值,或A的Y最大值小于B的最小值,或A的Y最小值大于B的Y的最大值,或A的Y的最大值小于B的Y最大值,說(shuō)明這兩個(gè)矩形不相交,否則這兩個(gè)矩形就是相交。
公式為:Axmin>Bxmax||Axmax<Bxmin||Aymin>Bymax||Aymax<Bymin
其中,Axmin=ax1,Axmax=ax3,Aymin=ay1,Aymax=ay3
Bxmin=bx1,Bxmax=bx3,Bymin=by1,Bymax=by3
因此,本發(fā)明根據(jù)獲取注記配置所需的參數(shù),采用矩形判斷法對(duì)各個(gè)步驟中所有矩形框進(jìn)行比較判斷,得到判斷結(jié)果。
S3、以候選注記位置i的最大范圍作點(diǎn)要素j的最大外接矩形,自點(diǎn)要素集合Points、注記集合Label中篩選出與最大外接矩形相交的點(diǎn)要素?cái)?shù)組PointM、注記數(shù)組LabelM。
如圖4所示,所述步驟S3包括以下分步驟:
S31、以候選注記位置i的最大范圍作點(diǎn)要素j的最大外接矩形,如圖5所示;以最大外接矩形為篩選條件,使用矩形判斷法自屏幕內(nèi)點(diǎn)要素集合Points中篩選出外接矩形相交的點(diǎn)要素?cái)?shù)組PointM。具體的,使用矩形判斷法判斷點(diǎn)要素集合Points中的點(diǎn)要素j是否與最大外接矩形相交,所述相交包括落入最大外接矩形范圍內(nèi)的點(diǎn)要素j,以及與最大外接矩形部分相交的點(diǎn)要素j,將與最大外接矩形相交的點(diǎn)要素j篩選出來(lái)并歸集至一點(diǎn)要素?cái)?shù)組PointM中。
S32、以最大外接矩形為篩選條件,使用矩形判斷法自注記集合Label中篩選出與最大外接矩形相交的注記數(shù)組LabelM。具體的,使用矩形判斷法判斷注記集合Label中的注記位置i是否與最大外接矩形相交,所述相交包括落入最大外接矩形范圍內(nèi)的注記位置i,以及與最大外接矩形部分相交的注記位置i,將與最大外接矩形相交的注記位置i篩選出來(lái)并歸集至一注記數(shù)組LabelM中。
具體的,步驟S2至步驟S3的工作流程示意圖如圖6所示。
S4、篩選出位于屏幕內(nèi)的候選注記位置i,并根據(jù)點(diǎn)要素?cái)?shù)組PointM、注記數(shù)組LabelM判斷候選注記位置i范圍內(nèi)是否有點(diǎn)要素j或已標(biāo)注其他注記,根據(jù)判斷結(jié)果決定是否進(jìn)行注記。
如圖7所示,所述步驟S4包括以下分步驟:
S41、使用矩形判斷法判斷候選注記位置i是否位于屏幕內(nèi),如果候選注記位置i在屏幕內(nèi),則進(jìn)行步驟S42的判斷;
S42、使用矩形判斷法判斷點(diǎn)要素?cái)?shù)組PointM中是否有點(diǎn)要素j位于候選注記位置i范圍內(nèi),如果候選注記位置i范圍內(nèi)沒(méi)有點(diǎn)要素j,則進(jìn)行步驟S43的判斷;
S43、使用矩形判斷法判斷注記數(shù)組LabelM中是否有注記位置i位于候選注記位置i范圍內(nèi),如果候選注記位置i范圍沒(méi)有壓蓋已有注記位置i,則進(jìn)行注記;反之,則不進(jìn)行注記。
具體的,如圖8所示,首先使用矩形判斷法判斷候選注記位置i是否位于屏幕內(nèi)。如果候選注記位置i在屏幕內(nèi),則在按候選位置的先后順序,即從正上方的第一候選位置開(kāi)始,使用矩形判斷法判斷點(diǎn)要素?cái)?shù)組PointM中是否有點(diǎn)要素j位于第一候選位置范圍內(nèi),即在第一候選位置注記是否會(huì)壓蓋其他點(diǎn)要素j。如果有,則進(jìn)行下一個(gè)候選位置的判斷,如果沒(méi)有,則繼續(xù)判斷注記數(shù)組LabelM中是否已經(jīng)有注記設(shè)置在第一候選位置范圍內(nèi),即在第一候選位置注記是否會(huì)壓蓋其他已有注記位置i。如果有,進(jìn)行下一個(gè)候選位置的判斷,如果沒(méi)有,則可以將點(diǎn)要素j的注記放于該候選位置,并將該注記位置i坐標(biāo)存入注記數(shù)組LabelM中。
使用矩形判斷法依次對(duì)四個(gè)候選注記位置i進(jìn)行位置判斷,若四個(gè)方向都沒(méi)有符合條件的候選注記位置i,則不進(jìn)行注記,并進(jìn)行下一個(gè)點(diǎn)要素j注記的配置。
選取幾種特殊位置的點(diǎn)要素j,采用本發(fā)明所述基于瀏覽器進(jìn)行復(fù)雜網(wǎng)絡(luò)拓?fù)鋱D點(diǎn)要素注記的繪制方法隨機(jī)設(shè)置注記內(nèi)容。效果如圖9所示,
(1)多點(diǎn)距離近,但都有位置放注記,如圖9中(a)所示;
(2)多點(diǎn)距離近,有點(diǎn)無(wú)位置放注記,如圖9中(b)所示;
(3)有點(diǎn)靠近屏幕左右邊緣,如圖9中(c)所示,圖中線(xiàn)條代表屏幕邊緣;
(4)有點(diǎn)靠近屏幕上下邊緣,如圖9中(d)所示,圖中線(xiàn)條代表屏幕邊緣。
本發(fā)明所述基于瀏覽器進(jìn)行復(fù)雜網(wǎng)絡(luò)拓?fù)鋱D點(diǎn)要素注記的繪制方法著重在瀏覽器中運(yùn)行實(shí)現(xiàn),能夠在web界面進(jìn)行應(yīng)用,并使用web環(huán)境下繪制矢量圖像有優(yōu)勢(shì)的HTML5canvas、javascript和css技術(shù)實(shí)現(xiàn)。
同時(shí),本發(fā)明還提供一種基于瀏覽器進(jìn)行復(fù)雜網(wǎng)絡(luò)拓?fù)鋱D點(diǎn)要素注記的繪制系統(tǒng),所述基于瀏覽器進(jìn)行復(fù)雜網(wǎng)絡(luò)拓?fù)鋱D點(diǎn)要素注記的繪制系統(tǒng)包括如下功能模塊:
候選位置設(shè)置模塊、用于以點(diǎn)要素j最小外接矩形為中心,在點(diǎn)要素j最小外接矩形的周?chē)O(shè)置至少一個(gè)候選注記位置i;
集合篩選模塊、用于獲取注記配置所需的參數(shù),篩選出位于屏幕內(nèi)的點(diǎn)要素集合Points,及位于屏幕內(nèi)的點(diǎn)要素j的注記集合Label;
數(shù)組篩選模塊、用于以候選注記位置i的最大范圍作點(diǎn)要素j的最大外接矩形,自點(diǎn)要素集合Points、注記集合Label中篩選出與最大外接矩形相交的點(diǎn)要素?cái)?shù)組PointM、注記數(shù)組LabelM;
注記判斷模塊、用于根據(jù)點(diǎn)要素?cái)?shù)組PointM、注記數(shù)組LabelM判斷候選注記位置i范圍內(nèi)是否有點(diǎn)要素j或已標(biāo)注其他注記,并根據(jù)判斷結(jié)果決定是否進(jìn)行注記。
其中,所述集合篩選模塊包括以下功能子模塊:
獲取點(diǎn)要素j子模塊、用于獲取注記配置所需的參數(shù),以屏幕坐標(biāo)范圍為篩選條件,使用矩形判斷法自全部點(diǎn)要素j中篩選出位于屏幕內(nèi)的點(diǎn)要素集合Points;
獲取注記子模塊、用于建立一注記集合Label,將根據(jù)點(diǎn)要素集合Points中的點(diǎn)要素j計(jì)算得到的注記位置i歸集至注記集合Label中。
其中,所述數(shù)組篩選模塊包括以下功能子模塊:
篩選點(diǎn)要素j子模塊、用于以最大外接矩形為篩選條件,使用矩形判斷法自屏幕內(nèi)點(diǎn)要素集合Points中篩選出與最大外接矩形相交的點(diǎn)要素?cái)?shù)組PointM。
篩選注記子模塊、用于以最大外接矩形為篩選條件,使用矩形判斷法自注記集合Label中篩選出與最大外接矩形相交的注記數(shù)組LabelM。
其中,所述注記判斷模塊包括以下功能子模塊:
位置判斷子模塊、用于使用矩形判斷法判斷候選注記位置i是否位于屏幕內(nèi),如果候選注記位置i在屏幕內(nèi),則過(guò)渡給點(diǎn)要素j判斷子模塊進(jìn)行判斷;
點(diǎn)要素j判斷子模塊、用于使用矩形判斷法判斷點(diǎn)要素?cái)?shù)組PointM中是否有點(diǎn)要素j位于候選注記位置i范圍內(nèi),如果候選注記位置i范圍內(nèi)沒(méi)有點(diǎn)要素j,則過(guò)渡給注記判斷子模塊進(jìn)行判斷;
注記判斷子模塊、用于使用矩形判斷法判斷注記數(shù)組LabelM中是否有注記位置位于候選注記位置i范圍內(nèi),如果候選注記位置i范圍沒(méi)有壓蓋其它注記位置,則進(jìn)行注記;反之,則不進(jìn)行注記。
本發(fā)明所述基于瀏覽器進(jìn)行復(fù)雜網(wǎng)絡(luò)拓?fù)鋱D點(diǎn)要素注記的繪制方法及系統(tǒng),其通過(guò)在點(diǎn)要素j周?chē)O(shè)置候選注記位置i,根據(jù)點(diǎn)要素j的實(shí)時(shí)位置變化,判斷其周?chē)欠裼凶銐虻奈恢糜糜谠O(shè)置注記,從而構(gòu)建注記矩形動(dòng)態(tài)避讓模型,使所述注記位置i根據(jù)屏幕內(nèi)點(diǎn)要素j的變化而變化,即經(jīng)過(guò)一次計(jì)算得到的注記位置i并非最終注記位置i,只要點(diǎn)要素j在發(fā)生變化,不論全部點(diǎn)要素j整體放大、縮小、移動(dòng),或單獨(dú)某個(gè)點(diǎn)要素j的移動(dòng)、添加等操作,注記矩形動(dòng)態(tài)避讓模型就會(huì)重新獲得點(diǎn)要素j在屏幕內(nèi)的坐標(biāo)數(shù)據(jù),并將坐標(biāo)數(shù)據(jù)重新載入模型進(jìn)行注記位置i計(jì)算,則在重新計(jì)算后,可能使原本沒(méi)有位置擺放注記的點(diǎn)要素j出現(xiàn)可以放注記的位置。
此外該技術(shù)通過(guò)篩選出位于屏幕內(nèi)的點(diǎn)要素進(jìn)行注記位置配置的方式針對(duì)時(shí)間效率進(jìn)行優(yōu)化,同時(shí)對(duì)屏幕內(nèi)點(diǎn)要素j進(jìn)行注記位置i配置,注記會(huì)自動(dòng)避開(kāi)屏幕邊緣,因此不會(huì)出現(xiàn)注記的一部分位于屏幕外的情況。本發(fā)明所述基于瀏覽器進(jìn)行復(fù)雜網(wǎng)絡(luò)拓?fù)鋱D點(diǎn)要素注記的繪制方法及系統(tǒng)既可以最大數(shù)量的將點(diǎn)要素j注記顯示出來(lái),還可以避免注記被屏幕邊緣壓蓋出現(xiàn)混淆的情況。
以上裝置實(shí)施例與方法實(shí)施例是一一對(duì)應(yīng)的,裝置實(shí)施例簡(jiǎn)略之處,參見(jiàn)方法實(shí)施例即可。
本說(shuō)明書(shū)中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見(jiàn)即可。
專(zhuān)業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來(lái)實(shí)現(xiàn),為了清楚地說(shuō)明硬件和軟件的可互換性,在上述說(shuō)明中已經(jīng)按照功能性一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專(zhuān)業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)超過(guò)本發(fā)明的范圍。
結(jié)合本文中所公開(kāi)的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來(lái)實(shí)施。軟件模塊可以置于隨機(jī)儲(chǔ)存器、內(nèi)存、只讀存儲(chǔ)器、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤(pán)、可移動(dòng)磁盤(pán)、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其他形式的存儲(chǔ)介質(zhì)中。
上面結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行了描述,但是本發(fā)明并不局限于上述的具體實(shí)施方式,上述的具體實(shí)施方式僅僅是示意性的,而不是限制性的,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明宗旨和權(quán)利要求所保護(hù)的范圍情況下,還可做出很多形式,這些均屬于本發(fā)明的保護(hù)之內(nèi)。