国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種復(fù)雜線狀要素的注記方法

      文檔序號(hào):2584812閱讀:282來(lái)源:國(guó)知局
      專利名稱:一種復(fù)雜線狀要素的注記方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及地理信息系統(tǒng)技術(shù)領(lǐng)域,特別是指一種復(fù)雜線狀要素的注記方法。
      背景技術(shù)
      線狀要素,例如境界線、海岸線、河流、鐵路、道路、等值線、等密度線等,是地理信息系統(tǒng)(Geographic Information System,GIS)中的一類重要地物?,F(xiàn)有的線狀要素的注記方式根據(jù)地物類型和地圖用途的不同有較大的差別,具體可分為點(diǎn)定位注記配置方式和線定位注記配置方式(曲線注記方式)。其中,曲線注記方式可分為中心線注記配置方式和平行線注記配置方式。例如,道路和街道網(wǎng)一般采用中心線注記配置方式,在其中心線上選取合適的點(diǎn)位進(jìn)行注記配置;線狀水系的注記一般采用平行線注記配置方式,先求出曲線的平行線,然后在平行線上選取適當(dāng)?shù)奈恢眠M(jìn)行注記配置;等值線和等密度線則采用點(diǎn)定位注記配置方式,重點(diǎn)在于標(biāo)注出等值線/等密度線間的拓?fù)潢P(guān)系,并在等值線/等密度線上選取合適的點(diǎn)位進(jìn)行注記配置。相對(duì)復(fù)雜的平行線注記配置方式適用于諸如線狀水系等復(fù)雜線狀要素的注記,但是,在采用平行線注記配置方式注記復(fù)雜線狀要素時(shí)會(huì)出現(xiàn)平行線相對(duì)于線狀要素突出或回縮的問(wèn)題,從而造成線狀要素曲線注記的自身沖突。

      發(fā)明內(nèi)容
      有鑒于此,本發(fā)明的主要目的在于提供一種復(fù)雜線狀要素的注記方法,以解決平行線注記配置方式注記復(fù)雜線狀要素時(shí)出現(xiàn)的平行線相對(duì)于線狀要素突出或回縮的問(wèn)題。本發(fā)明提供了一種復(fù)雜線狀要素的注記方法,包括以下步驟A、定義線狀要素的平行線,包括以下子步驟Al、構(gòu)建用來(lái)定義平行線的參考線;A2、采用角平分線法求出所述參考線的平行線,其中,對(duì)于所述參考線的外側(cè)平行線作如下處理對(duì)于所述參考線上角度小于90°的夾角,利用該夾角平分線上在所述參考線外側(cè)的與該夾角的角點(diǎn)距離為一定值的新外側(cè)點(diǎn)代替外側(cè)平行線上原本與該角點(diǎn)對(duì)應(yīng)的外側(cè)點(diǎn);并在所述新外側(cè)點(diǎn)左右各加入一個(gè)與所述角點(diǎn)距離同樣為所述定值的輔助點(diǎn),連接新外側(cè)點(diǎn)與左右輔助點(diǎn)構(gòu)成一線段;最后將該線段與所述外側(cè)平行線連接;B、分段處理所述線狀要素的平行線;C、在每段線狀要素的平行線上進(jìn)行注記定位。由上可以看出,通過(guò)上述方法可以解決在采用平行線注記配置方式注記復(fù)雜線狀要素時(shí)出現(xiàn)的平行線相對(duì)于線狀要素突出或回縮的問(wèn)題,從而避免線狀要素曲線注記的自身沖突。在上述方法中,步驟A中所述參考線的構(gòu)建包括掃描線狀要素的每一個(gè)點(diǎn),依次以每個(gè)點(diǎn)作為角點(diǎn),求其兩相鄰點(diǎn)與其共同形成的夾角α ;如果α <90°,則計(jì)算該角點(diǎn)與其兩相鄰點(diǎn)形成的兩條邊的長(zhǎng)度如果這兩條邊的長(zhǎng)度都小于d/tan(a ,則刪除該角點(diǎn);如果在這兩條邊中只有一條邊的長(zhǎng)度小于d/ tan( α/2),則用另一條邊上的距所述角點(diǎn)的距離與較短邊的邊長(zhǎng)相同的一點(diǎn)代替該角點(diǎn), 其中d為參考線與其平行線的間距。由上可以看出,通過(guò)上述方法構(gòu)建的參考線,要比中心線光滑,采用所述參考線適于構(gòu)建相對(duì)于線狀要素不會(huì)突出或回縮的平行線。在上述方法中,在所述子步驟A2之后還包括檢查所述平行線中是否存在由相交線段形成的環(huán)路若存在,則刪除環(huán)路中的各個(gè)頂點(diǎn),將環(huán)路起始點(diǎn)作為新頂點(diǎn)加入平行線坐標(biāo)串中,并修改平行線的頂點(diǎn)數(shù);輸出平行線新的頂點(diǎn)和線段。由上可以看出,采用上述方法可以解決影響注記的平行線自相交的問(wèn)題。在上述方法中,在所述子步驟A2之后還包括從所述平行線的第一條線段開(kāi)始,依次判斷每條線段與其后線段的距離是否大于 0且小于一設(shè)定值;如果是線段間彼此端點(diǎn)的距離大于0且小于一設(shè)定值,則連接所述端點(diǎn),如果是線段間端點(diǎn)與線段的距離大于0且小于一設(shè)定值,則連接該端點(diǎn)和這個(gè)端點(diǎn)在其相近線段上的垂足;最后刪除端點(diǎn)間和/或端點(diǎn)與端點(diǎn)在其相近線段上的垂足間的其他點(diǎn)/線段。由上可以看出,采用上述方法可以解決影響注記的平行線自相近的問(wèn)題。在上述方法中,在所述步驟A與B之間包括將所述線狀要素的平行線劃分為多條基礎(chǔ)線段,即所述線狀要素的平行線上每?jī)牲c(diǎn)間的線段;判斷所述線狀要素中是否存在長(zhǎng)度大于Lg的基礎(chǔ)線段如果存在,則可以使用平均分割法對(duì)這部分基礎(chǔ)線段進(jìn)行分段處理;其中,Lg為由兩條相鄰基礎(chǔ)線段合并成的合成基礎(chǔ)線段的長(zhǎng)度閥值。在上述方法中,所述步驟B包括以下子步驟Bi、計(jì)算所述平行線中相鄰基礎(chǔ)線段的相對(duì)高度hk,k+1,并記錄下其中最小的相對(duì)聞度hmin ;B2、判斷最小的相對(duì)高度hmin是否大于相對(duì)高度的閥值H。。mp 如果大于H。。mp,則進(jìn)入下一步;如果小于H。。mp,則合并相對(duì)高度等hmin的相鄰基礎(chǔ)線段以形成所述平行線的新曲線段,并求出所述新曲線段的長(zhǎng)度Lk,k+1 = Lk+Lk+1 ;其中,如果Lk,k+1 < Ly則使用所述新曲線段替換原來(lái)的兩條相鄰基礎(chǔ)線段后,返回步驟Bl ;否則,從剩下的基礎(chǔ)線段中找出最小的相對(duì)高度來(lái)替換hmin,并重新判斷最小的相對(duì)高度hmin是否大于相對(duì)高度的閥值H。。mp ;B3、輸出所述平行線的曲線段;當(dāng)最小的相對(duì)高度hmin大于相對(duì)高度閥值H。。mp時(shí), 所述曲線段就是所述平行線的基礎(chǔ)線段;當(dāng)最小的相對(duì)高度hmin大于相對(duì)高度閥值H。。mp時(shí), 所述曲線段是由兩條相鄰基礎(chǔ)線段合并形成的、且合并長(zhǎng)度小于Lg的新曲線段。由上可以看出,采用上述方法可以提取出相對(duì)光滑的曲線,相對(duì)于傳統(tǒng)的方位角法和單調(diào)分段法,上述方法對(duì)曲線彎曲度的適應(yīng)程度較高,而且可以限制曲線段的合并長(zhǎng)度,不對(duì)能夠進(jìn)行注記的曲線段進(jìn)行沒(méi)有必要的分段,從而提高了曲線分段的效率。
      在上述方法中,所述步驟Bl包括假設(shè)所述平行線的相鄰基礎(chǔ)線段的高度為h,即當(dāng)相鄰的兩條基礎(chǔ)線段合并為一條曲線時(shí),該曲線上某所有點(diǎn)與該曲線兩端點(diǎn)所形成的直線距離中的最大值;設(shè)相鄰兩條基礎(chǔ)線段的長(zhǎng)度分別為Ik和Ik+1,由該兩條基礎(chǔ)線段合并成的合成曲線兩端點(diǎn)之間的距離為d,則相鄰基礎(chǔ)線段的相對(duì)高度hk,k+1 = hd2/(lk2+lk+12)。在上述方法,所述步驟C包括以下子步驟Cl、根據(jù)注記字符的長(zhǎng)度設(shè)定線狀要素注記的長(zhǎng)度;C2、掃描線狀要素平行線的所有曲線段,對(duì)滿足注記長(zhǎng)度的曲線段按照字符個(gè)數(shù)進(jìn)行等分,其中,等分點(diǎn)就是注記定位點(diǎn);C3、按照線注記的規(guī)則將每個(gè)注記字符放到注記定位點(diǎn)上。在上述方法中,在所述步驟A之前還包括壓縮線狀要素。由上可以看出,對(duì)復(fù)雜線狀要素的數(shù)據(jù)進(jìn)行壓縮可以減少冗余數(shù)據(jù)對(duì)注記動(dòng)態(tài)配置速度的影響。


      圖1為本發(fā)明提供的一種復(fù)雜線狀要素的注記方法流程圖;圖2為角平分線法原理示意圖;圖3為改進(jìn)的角平分線法原理示意圖;圖4為平行線自相交問(wèn)題處理前后對(duì)照?qǐng)D;圖5為平行線自相近問(wèn)題處理前后對(duì)照?qǐng)D;圖6為利用角平分線法求取線狀要素平行線的效果圖;圖7為利用改進(jìn)的角平分線法求取線狀要素平行線的效果圖。
      具體實(shí)施例方式下面結(jié)合附圖,以曲線線狀要素為例詳細(xì)介紹本發(fā)明提供的一種復(fù)雜線狀要素的注記方法。如圖1所示,所述復(fù)雜線狀要素的注記方法包括以下步驟步驟100 壓縮線狀要素。對(duì)于一個(gè)GIS系統(tǒng)來(lái)說(shuō),由于受軟硬件條件的限制,數(shù)據(jù)量的大小及質(zhì)量將對(duì)整個(gè)系統(tǒng)的運(yùn)行速度和效率產(chǎn)生直接的影響。如果GIS系統(tǒng)采用注記動(dòng)態(tài)配置功能模塊對(duì)線狀要素進(jìn)行注記,則需要不斷地動(dòng)態(tài)響應(yīng)GIS用戶的操作,此舉對(duì)系統(tǒng)速度要求較高。因此,精簡(jiǎn)的數(shù)據(jù)對(duì)于GIS系統(tǒng)中注記操作來(lái)說(shuō)顯得尤為重要。對(duì)于線狀要素的壓縮,一般主要集中在對(duì)于線狀要素的空間數(shù)據(jù)的壓縮上。而對(duì)于空間數(shù)據(jù)的壓縮主要包括無(wú)損壓縮和有損壓縮兩種方式。其中,無(wú)損壓縮可以在保證數(shù)據(jù)完整性的情況下一定程度上減少數(shù)據(jù)存儲(chǔ)量,但壓縮比較低,不能滿足注記配置對(duì)于數(shù)據(jù)壓縮的需要。本實(shí)施例在不改變?cè)紨?shù)據(jù)的基礎(chǔ)上,采用了壓縮比更大的有損壓縮。具體為Douglas數(shù)據(jù)壓縮算法,包括基本步驟1、設(shè)定曲線數(shù)據(jù)壓縮的閥值。取一個(gè)基本上不會(huì)影響曲線視覺(jué)效果的值作為所述閥值。一般情況下,這個(gè)閥值不會(huì)太大。2、連接曲線的首尾兩點(diǎn),并找出與兩點(diǎn)連線有最大偏移距離的點(diǎn)。
      3、判斷該點(diǎn)的偏移距離是否小于上述閥值若是,則刪掉所述首尾兩點(diǎn)間所有的點(diǎn);否則,以該點(diǎn)為分段點(diǎn),將曲線分成一分為二,并返回執(zhí)行第2步。由于所述Douglas數(shù)據(jù)壓縮算法為公知技術(shù),在此不再贅述。在注記線狀要素前,執(zhí)行線狀要素?cái)?shù)據(jù)的壓縮不僅可以刪除冗余數(shù)據(jù),減少數(shù)據(jù)存儲(chǔ)量,更重要的是通過(guò)壓縮線狀要素?cái)?shù)據(jù)可以簡(jiǎn)化線狀要素的輪廓線,這對(duì)于后期線狀要素的注記配置響應(yīng)速度的提升有很大的幫助。步驟200 定義經(jīng)過(guò)數(shù)據(jù)壓縮的線狀要素的平行線。由于復(fù)雜線狀要素的注記是在平行線上選取適當(dāng)?shù)奈恢眠M(jìn)行配置的。因此,需要克服一切可能存在的誤差,準(zhǔn)確地定義出線狀要素的平行線。以往一般采用如圖2示出的角平分線法來(lái)求取線狀要素的平行線。這種算法精度高,運(yùn)算速度快。但通過(guò)這種方法生成的平行線具有如下缺點(diǎn)在中心線夾角α較小時(shí),所求得的平行線夾角頂點(diǎn)(Α、Β)會(huì)離中心線非常遠(yuǎn)(遠(yuǎn)大于線狀要素與其平行線的間距d)。 如果平行線在中心線的外側(cè),則平行線夾角頂點(diǎn)A會(huì)因遠(yuǎn)離中心線而顯得過(guò)分突出;如果平行線在中心線的內(nèi)側(cè),則平行線夾角頂點(diǎn)B會(huì)因遠(yuǎn)離中心線而顯得過(guò)分收縮。同時(shí),如果中心線夾角α兩邊較短的話,平行線就會(huì)因平行線夾角頂點(diǎn)的過(guò)分外凸或收縮而改變其原有的形狀。在本實(shí)施例中,通過(guò)構(gòu)建用來(lái)定義平行線的參考線,來(lái)對(duì)角平分線法進(jìn)行改進(jìn),從而以解決中心線內(nèi)側(cè)平行線因其平行線夾角頂點(diǎn)向內(nèi)收縮而改變形狀的問(wèn)題。如圖3所示,具體為掃描曲線上(相對(duì)于其兩側(cè)的平行線,也可將曲線稱作中心線)的每一個(gè)點(diǎn),依次以每個(gè)點(diǎn)作為角點(diǎn)(是二維圖像亮度變化劇烈的點(diǎn)或曲線上曲率極大值的點(diǎn)),求其兩相鄰點(diǎn)與其共同形成的夾角α 如果α <90°,則計(jì)算該角點(diǎn)與兩相鄰點(diǎn)形成的兩條邊的長(zhǎng)度。如果這兩條邊的長(zhǎng)度都小于d/tan(a/2),則刪除該角點(diǎn)。如果在這兩條邊中只有一條邊的長(zhǎng)度小于d/tan (α/2),則用另一條邊上的一點(diǎn)代替該角點(diǎn),該點(diǎn)距所述角點(diǎn)的距離與較短邊(長(zhǎng)度小于d/tan(a//2))的邊長(zhǎng)相同。其中,d為參考線與其平行線的間距。圖 3示出的角點(diǎn)A、B分別與其相鄰點(diǎn)1、2和3、4構(gòu)成的夾角α和β均小于90°,且角點(diǎn)Α、 B與其各自的相鄰點(diǎn)1、2和3、4之間形成的邊長(zhǎng)均小于d/tan ( α/2),那么刪除角點(diǎn)Α、Β并將點(diǎn)1、2和3、4分別連接后,形成如圖3示出的參考線。最后再利用角平分線法求出所述參考線的內(nèi)側(cè)平行線便可解決平行線夾角頂點(diǎn)向內(nèi)收縮而改變形狀的問(wèn)題。對(duì)于平行線在參考線的外側(cè)時(shí)因平行線夾角頂點(diǎn)會(huì)因遠(yuǎn)離參考線而顯得過(guò)分突出的問(wèn)題,可通過(guò)以下方法解決,即對(duì)于參考線上角度小于90°的夾角,利用該夾角平分線上在參考線外側(cè)的與該夾角的角點(diǎn)距離為d(可根據(jù)注記字符大小、間距來(lái)設(shè)置的定值) 的新外側(cè)點(diǎn)代替外側(cè)平行線上原本與該角點(diǎn)對(duì)應(yīng)的外側(cè)點(diǎn)。然后在所述新外側(cè)點(diǎn)左右各加入一個(gè)與所述角點(diǎn)距離同樣為d的輔助點(diǎn),連接新外側(cè)點(diǎn)與左右輔助點(diǎn)構(gòu)成一線段。最后, 將該線段與外側(cè)平行線連接,構(gòu)成新的外側(cè)平行線。從而解決了外側(cè)平行線因其外側(cè)點(diǎn)突出而改變形狀的問(wèn)題。在完成所述平行線的定義后,如圖4、5所示,平行線可能存在自相交和/或自相近的的情況,由此導(dǎo)致注記重疊、顯示混亂等問(wèn)題。在本實(shí)施例中,假設(shè)平行線N個(gè)坐標(biāo)點(diǎn)(由該N個(gè)坐標(biāo)點(diǎn)構(gòu)成一坐標(biāo)串),則其包含的線段數(shù)量為N-1。其中,解決平行線自相交問(wèn)題的具體方法如下如圖4所示,在平行線的N-I條線段中依次檢查所述平行線的是否存在相交線段,即是否存在由相交線段形成的環(huán)路若存在,則刪除環(huán)路中的各個(gè)頂點(diǎn),將環(huán)路起始點(diǎn)a作為新頂點(diǎn)加入平行線坐標(biāo)串中,并修改平行線的頂點(diǎn)數(shù)。最后輸出平行線新的頂點(diǎn)和線段。解決平行線自相近問(wèn)題的具體方法如下如圖5所示,從平行線的第一條線段開(kāi)始,依次判斷每條線段與其后線段的關(guān)系是否相近(以某一設(shè)定值為判斷依據(jù),不大于該設(shè)定值且大于0則為相近);如果是線段間的端點(diǎn)相近,則連接端點(diǎn),如果是端點(diǎn)與線段相近,則連接該端點(diǎn)和這個(gè)端點(diǎn)在其相近線段上的垂足。最后刪除端點(diǎn)間和/或端點(diǎn)與端點(diǎn)在其相近線段上的垂足間的其他點(diǎn)/線段。由此,得到了消除自相近的平行線。下面參照?qǐng)D6、圖7,對(duì)比分別利用角平分線法和本發(fā)明改進(jìn)的角平分線法定義出的線狀要素平行線的效果,其中,Ll為經(jīng)過(guò)數(shù)據(jù)壓縮的中心線,L2為通過(guò)角平分線法求出的Ll的平行線,L3為未經(jīng)數(shù)據(jù)壓縮的中心線,“*”是平行線的分段點(diǎn)。如圖6所示,中心線Ll上的點(diǎn)a對(duì)應(yīng)的外側(cè)平行線上的點(diǎn)遠(yuǎn)離了中心線,且突出到了點(diǎn)b的位置。而中心線Ll上的點(diǎn)a對(duì)應(yīng)的內(nèi)側(cè)平行線上的點(diǎn)回縮到了點(diǎn)c的位置,使內(nèi)側(cè)平行線的形狀發(fā)生了改變。而圖6中點(diǎn)d、e示出的位置則發(fā)生了平行線自相交的情況, 如果該平行線與中心線Ll的間距再小一點(diǎn)的話,那么點(diǎn)e示出的位置則會(huì)發(fā)生平行線自相近的情況。因?yàn)閺?fù)雜線狀要素的注記是在平行線上選取適當(dāng)?shù)奈恢眠M(jìn)行配置的,即注記字符的中心就在平行線上,在圖6示出的雜亂的平行線上顯然是很難進(jìn)行注記。而圖7示出的由本發(fā)明改進(jìn)的角平分線法定義的規(guī)整的平行線是很容易進(jìn)行注記的。步驟300 分段處理所述線狀要素的平行線。對(duì)于長(zhǎng)度較長(zhǎng)的線狀要素,在注記之前需要對(duì)其平行線進(jìn)行分段處理,然后再對(duì)每一段或其中的幾段進(jìn)行注記,即在每一段或其中的幾段線狀要素的平行線上進(jìn)行注記。 以曲線為例,現(xiàn)有的曲線分段方法主要有兩種一種是方位角法,具體為設(shè)定一個(gè)方位角變化閥值α ;計(jì)算曲線上每一條由曲線坐標(biāo)點(diǎn)形成的線段的方位角;接著計(jì)算位于每個(gè)坐標(biāo)點(diǎn)前后的線段的方位角之差,并將方位角之差的絕對(duì)值大于α的所有坐標(biāo)點(diǎn)記錄下作為分段點(diǎn);最后根據(jù)所述分段點(diǎn)對(duì)曲線進(jìn)行分段。這種方法在一定程度上可以將曲線分成較為光滑的曲線段,但是對(duì)于一些復(fù)雜的曲線,特別是一些方位角變化比較大的曲線,容易將其劃分得太細(xì),以至于無(wú)法進(jìn)行注記。另一種是單調(diào)分段法,具體為提取出曲線中所有單調(diào)性發(fā)生變化的坐標(biāo)點(diǎn)作為初始分段點(diǎn);根據(jù)初始分段點(diǎn)對(duì)曲線進(jìn)行分段,并提取出曲線單調(diào)段(由相鄰的且彼此間能夠同時(shí)投影在同一坐標(biāo)軸上的曲線段合并而成)作為曲線的最終分段。這種方法可以保證曲線注記的通視性,但是不能將曲線劃分出相對(duì)平滑的曲線段。為了解決上述現(xiàn)有曲線分段方法存在的問(wèn)題,本實(shí)施例基于逆向Douglas算法, 以曲線上所有的線段為基礎(chǔ),逐步合并相對(duì)光滑的曲線段,并以最終輸出的曲線段作為注記曲線段。在利用逆向Douglas算法分段處理曲線之前,將所述曲線劃分為多條基礎(chǔ)線段 (曲線上每?jī)牲c(diǎn)間的線段),設(shè)基礎(chǔ)線段的長(zhǎng)度為lk。根據(jù)注記字符串的長(zhǎng)度和字符的大小確定由兩條相鄰的基礎(chǔ)線段合并成的合成基礎(chǔ)線段(合成曲線)的相對(duì)高度的閥值為 H。。mp。設(shè)合成曲線的長(zhǎng)度閥值為L(zhǎng)y判斷所述曲線中是否存在長(zhǎng)度大于Lg的基礎(chǔ)線段如果存在,則可以使用平均分割法對(duì)這部分基礎(chǔ)線段進(jìn)行分段處理;否則采用逆向Douglas算法分段處理所述曲線。所述逆向Douglas算法包括以下步驟步驟301 計(jì)算曲線中相鄰基礎(chǔ)線段的相對(duì)高度hk, k+1,并記錄下其中最小的相對(duì)高度hmin。其中,假設(shè)相鄰基礎(chǔ)線段的高度為h,即當(dāng)相鄰的兩條基礎(chǔ)線段合并為一條曲線時(shí),該曲線上某所有點(diǎn)與該曲線兩端點(diǎn)所形成的直線距離中的最大值;設(shè)相鄰兩條基礎(chǔ)線段的長(zhǎng)度分別為Ik和lk+1,由該兩條基礎(chǔ)線段合并成的合成曲線兩端點(diǎn)之間的距離為d,則相鄰基礎(chǔ)線段的相對(duì)高度hk,k+1 = hd2/(lk2+lk+12)。步驟302 判斷最小的相對(duì)高度hmin是否大于相對(duì)高度的閥值H。。mp 如果大于H。。mp, 則進(jìn)入下一步;如果小于H。。mp,則合并相對(duì)高度等于hmin的相鄰基礎(chǔ)線段以形成新曲線段, 并求出新曲線段的長(zhǎng)度Lk, k+1 = Lk+Lk+1。其中,如果Lk,k+1 < Ly則使用新曲線段替換原來(lái)的兩條相鄰基礎(chǔ)線段后,返回步驟301 ;否則,從剩下的基礎(chǔ)線段中找出最小相對(duì)高度來(lái)替換hmin,并重新判斷最小的相對(duì)高度hmin是否大于相對(duì)高度的閥值H。。mp。步驟303 輸出曲線段。當(dāng)最小的相對(duì)高度hmin大于相對(duì)高度閥值H。。mp時(shí),所述曲線段就是所述曲線的基礎(chǔ)線段。當(dāng)最小的相對(duì)高度hmin大于相對(duì)高度閥值H。。mp時(shí),所述曲線段是由兩條相鄰基礎(chǔ)線段合并形成的、且合并長(zhǎng)度小于Lg的新曲線段。步驟400 對(duì)每段線狀要素進(jìn)行注記定位,即確定每段線狀要素?cái)?shù)據(jù)上注記點(diǎn)的坐標(biāo)以及該坐標(biāo)上注記字符的字向。具體為首先根據(jù)字符的長(zhǎng)度設(shè)定線狀要素注記的長(zhǎng)度;掃描線狀要素的所有曲線段,對(duì)滿足注記長(zhǎng)度的曲線段按照字符個(gè)數(shù)(注記點(diǎn)個(gè)數(shù))進(jìn)行等分,例如,注記有m個(gè)注記點(diǎn),對(duì)滿足注記長(zhǎng)度的曲線段按照其長(zhǎng)度進(jìn)行m+1等分,其中,等分點(diǎn)就是注記定位點(diǎn);然后按照線注記的規(guī)則將每個(gè)注記字符放到注記定位點(diǎn)上;線注記應(yīng)遵循以下規(guī)則1、沿線狀要素的平行線,一般采用離散的注記方式,屈曲字列,字向(字頭的朝向)與曲線的切線方向垂直;2、注記的字間距為一定范圍的等間隔;3、注記的排列方向沿著被注記線狀要素的方向,依據(jù)其傾角而定,采用從上往下, 從左往右注記的原則;4、注記不允許放在線狀要素的兩側(cè);5、注記與線狀要素的距離要適當(dāng);6、若線狀要素較長(zhǎng),應(yīng)分段重復(fù)注記;7、避免注記靠近線要素的端點(diǎn),注記首末字到線狀要素兩端點(diǎn)的距離應(yīng)相等且保持適當(dāng)距離;8、避免壓蓋地圖要素,不壓蓋其他注記。最后校正已放到注記定位點(diǎn)上的注記字符的字向。例如,可通過(guò)縮短注記字符間距來(lái)校正注記首尾字符距離曲線段兩端點(diǎn)較近的問(wèn)題。如果注記首尾字符距離曲線段兩端點(diǎn)過(guò)近,則可在調(diào)整注記字符間距的同時(shí)沿曲線段形成足夠長(zhǎng)的折線,注記字符字向與所述折線兩端點(diǎn)連接線平行或垂直。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      權(quán)利要求
      1.一種復(fù)雜線狀要素的注記方法,其特征在于,包括以下步驟A、定義線狀要素的平行線,包括以下子步驟 Al、構(gòu)建用來(lái)定義平行線的參考線;A2、采用角平分線法求出所述參考線的平行線,其中,對(duì)于所述參考線的外側(cè)平行線作如下處理對(duì)于所述參考線上角度小于90°的夾角,利用該夾角平分線上在所述參考線外側(cè)的與該夾角的角點(diǎn)距離為一定值的新外側(cè)點(diǎn)代替外側(cè)平行線上原本與該角點(diǎn)對(duì)應(yīng)的外側(cè)點(diǎn);并在所述新外側(cè)點(diǎn)左右各加入一個(gè)與所述角點(diǎn)距離同樣為所述定值的輔助點(diǎn),連接新外側(cè)點(diǎn)與左右輔助點(diǎn)構(gòu)成一線段;最后將該線段與所述外側(cè)平行線連接;B、分段處理所述線狀要素的平行線;C、在每段線狀要素的平行線上進(jìn)行注記定位。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟A中所述參考線的構(gòu)建包括掃描線狀要素的每一個(gè)點(diǎn),依次以每個(gè)點(diǎn)作為角點(diǎn),求其兩相鄰點(diǎn)與其共同形成的夾角ct ;如果α <90°,則計(jì)算該角點(diǎn)與其兩相鄰點(diǎn)形成的兩條邊的長(zhǎng)度如果這兩條邊的長(zhǎng)度都小于d/tan(a/2),則刪除該角點(diǎn);如果在這兩條邊中只有一條邊的長(zhǎng)度小于d/ tan( α/2),則用另一條邊上的距所述角點(diǎn)的距離與較短邊的邊長(zhǎng)相同的一點(diǎn)代替該角點(diǎn), 其中d為參考線與其平行線的間距。
      3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述子步驟A2之后還包括檢查所述平行線中是否存在由相交線段形成的環(huán)路若存在,則刪除環(huán)路中的各個(gè)頂點(diǎn),將環(huán)路起始點(diǎn)作為新頂點(diǎn)加入平行線坐標(biāo)串中,并修改平行線的頂點(diǎn)數(shù);輸出平行線新的頂點(diǎn)和線段。
      4.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述子步驟A2之后還包括從所述平行線的第一條線段開(kāi)始,依次判斷每條線段與其后線段的距離是否大于0且小于一設(shè)定值;如果是線段間彼此端點(diǎn)的距離大于0且小于一設(shè)定值,則連接所述端點(diǎn),如果是線段間端點(diǎn)與線段的距離大于0且小于一設(shè)定值,則連接該端點(diǎn)和這個(gè)端點(diǎn)在其相近線段上的垂足;最后刪除端點(diǎn)間和/或端點(diǎn)與端點(diǎn)在其相近線段上的垂足間的其他點(diǎn)/線段。
      5.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟A與B之間包括將所述線狀要素的平行線劃分為多條基礎(chǔ)線段,即所述線狀要素的平行線上每?jī)牲c(diǎn)間的線段;判斷所述線狀要素中是否存在長(zhǎng)度大于Lg的基礎(chǔ)線段如果存在,則可以使用平均分割法對(duì)這部分基礎(chǔ)線段進(jìn)行分段處理;其中,Lg為由兩條相鄰基礎(chǔ)線段合并成的合成基礎(chǔ)線段的長(zhǎng)度閥值。
      6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述步驟B包括以下子步驟Bi、計(jì)算所述平行線中相鄰基礎(chǔ)線段的相對(duì)高度hk, k+1,并記錄下其中最小的相對(duì)高度h . ·11Iiiin,B2、判斷最小的相對(duì)高度hmin是否大于相對(duì)高度的閥值H。。mp 如果大于H。。mp,則進(jìn)入下一步;如果小于H。。mp,則合并相對(duì)高度等于hmin的相鄰基礎(chǔ)線段以形成所述平行線的新曲線段,并求出所述新曲線段的長(zhǎng)度Lk,k+1 = Lk+Lk+1 ;其中,如果Lk,k+1 < Ly則使用所述新曲線段替換原來(lái)的兩條相鄰基礎(chǔ)線段后,返回步驟Bl ;否則,從剩下的基礎(chǔ)線段中找出最小的相對(duì)高度來(lái)替換hmin,并重新判斷最小的相對(duì)高度hmin是否大于相對(duì)高度的閥值H。。mp ;B3、輸出所述平行線的曲線段;當(dāng)最小的相對(duì)高度hmin大于相對(duì)高度閥值H。。mp時(shí),所述曲線段就是所述平行線的基礎(chǔ)線段;當(dāng)最小的相對(duì)高度hmin大于相對(duì)高度閥值札_時(shí),所述曲線段是由兩條相鄰基礎(chǔ)線段合并形成的、且合并長(zhǎng)度小于Lg的新曲線段。
      7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述步驟Bl包括假設(shè)所述平行線的相鄰基礎(chǔ)線段的高度為h,即當(dāng)相鄰的兩條基礎(chǔ)線段合并為一條曲線時(shí),該曲線上某所有點(diǎn)與該曲線兩端點(diǎn)所形成的直線距離中的最大值;設(shè)相鄰兩條基礎(chǔ)線段的長(zhǎng)度分別為Ik和lk+1, 由該兩條基礎(chǔ)線段合并成的合成曲線兩端點(diǎn)之間的距離為d,則相鄰基礎(chǔ)線段的相對(duì)高度hk, k+i = hd2/(lk2+lk+12) ο
      8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟C包括以下子步驟 Cl、根據(jù)注記字符的長(zhǎng)度設(shè)定線狀要素注記的長(zhǎng)度;C2、掃描線狀要素平行線的所有曲線段,對(duì)滿足注記長(zhǎng)度的曲線段按照字符個(gè)數(shù)進(jìn)行等分,其中,等分點(diǎn)就是注記定位點(diǎn);C3、按照線注記的規(guī)則將每個(gè)注記字符放到注記定位點(diǎn)上。
      9.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟A之前還包括壓縮線狀要
      全文摘要
      本發(fā)明提供了一種復(fù)雜線狀要素的注記方法,包括步驟A、定義線狀要素的平行線,包括構(gòu)建用來(lái)定義平行線的參考線;采用角平分線法求出所述參考線的平行線,其中,對(duì)于所述參考線的外側(cè)平行線作如下處理對(duì)于所述參考線上角度小于90°的夾角,利用該夾角平分線上在所述參考線外側(cè)的與該夾角的角點(diǎn)距離為一定值的新外側(cè)點(diǎn)代替外側(cè)平行線上原本與該角點(diǎn)對(duì)應(yīng)的外側(cè)點(diǎn);并在所述新外側(cè)點(diǎn)左右各加入一個(gè)與所述角點(diǎn)距離同樣為所述定值的輔助點(diǎn),連接新外側(cè)點(diǎn)與左右輔助點(diǎn)構(gòu)成一線段;最后將該線段與所述外側(cè)平行線連接;B、分段處理所述線狀要素的平行線;C、在每段線狀要素的平行線上進(jìn)行注記定位。以解決平行線相對(duì)于線狀要素突出或回縮的問(wèn)題。
      文檔編號(hào)G09B29/00GK102237010SQ20111021443
      公開(kāi)日2011年11月9日 申請(qǐng)日期2011年7月28日 優(yōu)先權(quán)日2011年7月28日
      發(fā)明者丁圣陶, 劉曉麗, 印潔, 葉關(guān)根, 孫偉, 張成成, 方馳宇, 李成名, 梁西騰, 殷勇, 沈濤, 焦孟凱, 趙占杰, 趙園春, 路文娟 申請(qǐng)人:中國(guó)測(cè)繪科學(xué)研究院
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1