本(ben)發明(ming)涉及一種(zhong)基于morphing變換的線(xian)要素移(yi)位方法及裝置,屬(shu)于空間數據中線(xian)要素空間沖(chong)突處理(li)技(ji)術領域。
背景技術:
移位是地圖(tu)(tu)(tu)制圖(tu)(tu)(tu)綜合的(de)(de)基本算子之一。當(dang)比(bi)例尺(chi)(chi)縮小時,地圖(tu)(tu)(tu)上的(de)(de)目標就會(hui)變得擁擠,從而出(chu)現地圖(tu)(tu)(tu)符號之間(jian)的(de)(de)壓蓋、重(zhong)疊等(deng)現象(xiang),產生空(kong)(kong)(kong)間(jian)沖突(tu),直接影響多尺(chi)(chi)度空(kong)(kong)(kong)間(jian)數據生產的(de)(de)空(kong)(kong)(kong)間(jian)關系正確性,破(po)壞(huai)地圖(tu)(tu)(tu)的(de)(de)清晰性和地圖(tu)(tu)(tu)目標之間(jian)的(de)(de)可(ke)讀性,影響地圖(tu)(tu)(tu)出(chu)版的(de)(de)質量。
移(yi)位(wei)是解(jie)決(jue)地圖制圖和(he)gis中空間沖(chong)突(tu)的(de)(de)基本(ben)算(suan)(suan)子之(zhi)一(yi)。目前常用(yong)的(de)(de)移(yi)位(wei)方(fang)(fang)(fang)法(fa)(fa)可以大致分(fen)為(wei)(wei)最(zui)(zui)優化(hua)(hua)方(fang)(fang)(fang)法(fa)(fa)和(he)幾(ji)何(he)算(suan)(suan)法(fa)(fa)兩類,也(ye)有(you)(you)學者將其分(fen)為(wei)(wei)增量移(yi)位(wei)和(he)整體移(yi)位(wei)。最(zui)(zui)優化(hua)(hua)方(fang)(fang)(fang)法(fa)(fa)對(dui)應于(yu)(yu)增量移(yi)位(wei)方(fang)(fang)(fang)法(fa)(fa),它迭(die)代計算(suan)(suan)相鄰目標之(zhi)間的(de)(de)沖(chong)突(tu)并進行(xing)移(yi)位(wei),直到所有(you)(you)沖(chong)突(tu)被化(hua)(hua)解(jie)。代表性方(fang)(fang)(fang)法(fa)(fa)有(you)(you)模(mo)擬退火方(fang)(fang)(fang)法(fa)(fa)、有(you)(you)限(xian)元法(fa)(fa)、彈性力學模(mo)型、能量最(zui)(zui)小的(de)(de)beams模(mo)型、ductiletruss模(mo)型、snake算(suan)(suan)法(fa)(fa)等。然而,最(zui)(zui)優化(hua)(hua)方(fang)(fang)(fang)法(fa)(fa)存在以下(xia)不足:1)原理和(he)過程復雜(za),難以實現;2)多數(shu)最(zui)(zui)優化(hua)(hua)模(mo)型效率較(jiao)低,需要(yao)大量的(de)(de)計算(suan)(suan)資源,例(li)如涉(she)及大量的(de)(de)矩(ju)陣方(fang)(fang)(fang)程解(jie)算(suan)(suan)等;3)參數(shu)設置難以定(ding)量化(hua)(hua),某些參數(shu)甚至沒有(you)(you)直觀意(yi)義(yi),導致用(yong)戶對(dui)參數(shu)設置比較(jiao)盲目。幾(ji)何(he)方(fang)(fang)(fang)法(fa)(fa)對(dui)應于(yu)(yu)整體移(yi)位(wei)方(fang)(fang)(fang)法(fa)(fa),是指通過分(fen)析沖(chong)突(tu)區域內地圖目標的(de)(de)環(huan)境上下(xia)文,利用(yong)幾(ji)何(he)方(fang)(fang)(fang)法(fa)(fa)一(yi)次(ci)性計算(suan)(suan)要(yao)素移(yi)動(dong)的(de)(de)距離(li)和(he)方(fang)(fang)(fang)向,并一(yi)次(ci)性執行(xing)幾(ji)何(he)變換。
在制圖綜合領域,morphing變換(huan)主(zhu)要用于線(xian)(xian)要素或面要素的連續變換(huan),根據morphing變換(huan)的連續變換(huan)和形狀(zhuang)(zhuang)(zhuang)保(bao)持(chi)等方(fang)面的優(you)勢,在目前(qian)的morphing變換(huan)中,需要進(jin)行彎(wan)(wan)(wan)曲(qu)(qu)匹(pi)配(pei),而在彎(wan)(wan)(wan)曲(qu)(qu)匹(pi)配(pei)過程(cheng)中,需對(dui)(dui)對(dui)(dui)應(ying)彎(wan)(wan)(wan)曲(qu)(qu)特征(zheng)點(dian)進(jin)行識(shi)別和匹(pi)配(pei),過程(cheng)比較復雜。例如,發表(biao)于2012年(nian)7月份(fen)的中南大學(xue)學(xue)報(自然科學(xue)版)上的一(yi)篇名稱(cheng)為《一(yi)種基于彎(wan)(wan)(wan)曲(qu)(qu)結(jie)構(gou)(gou)的線(xian)(xian)狀(zhuang)(zhuang)(zhuang)要素morphing方(fang)法》的論(lun)文,該論(lun)文公(gong)開了一(yi)種morphing變換(huan)方(fang)法,該方(fang)法線(xian)(xian)根據各自形態特征(zheng)分別利用約(yue)束delaunay三角網提取線(xian)(xian)狀(zhuang)(zhuang)(zhuang)要素的獨立彎(wan)(wan)(wan)曲(qu)(qu)及(ji)其層次結(jie)構(gou)(gou)信息,并(bing)利用彎(wan)(wan)(wan)曲(qu)(qu)森(sen)林(lin)和彎(wan)(wan)(wan)曲(qu)(qu)數來表(biao)達線(xian)(xian)狀(zhuang)(zhuang)(zhuang)要素的彎(wan)(wan)(wan)曲(qu)(qu)結(jie)構(gou)(gou),然后(hou),對(dui)(dui)彎(wan)(wan)(wan)曲(qu)(qu)結(jie)構(gou)(gou)進(jin)行識(shi)別和匹(pi)配(pei),將兩線(xian)(xian)狀(zhuang)(zhuang)(zhuang)要素分割(ge)成多對(dui)(dui)對(dui)(dui)應(ying)線(xian)(xian)段。整(zheng)個(ge)(ge)過程(cheng),需要對(dui)(dui)多個(ge)(ge)特征(zheng)點(dian)進(jin)行識(shi)別和匹(pi)配(pei),導致線(xian)(xian)要素移位(wei)復雜。
技術實現要素:
本(ben)發(fa)明的(de)(de)目的(de)(de)是提(ti)供一種基于morphing變換的(de)(de)線(xian)要素(su)移位方法,以解決(jue)目前(qian)線(xian)要素(su)morphing變換過程復(fu)雜的(de)(de)問(wen)題;本(ben)發(fa)明還提(ti)供了(le)一種基于morphing變換的(de)(de)線(xian)要素(su)移位裝置(zhi)。
本發明為解決上述技(ji)術問題而提供一(yi)種(zhong)基于morphing變換的線要素移(yi)位(wei)方法,該移(yi)位(wei)方法包括以下(xia)步驟:
1)識別曲(qu)(qu)線目標上的彎曲(qu)(qu),并對識別的彎曲(qu)(qu)進行沖(chong)突檢測(ce);
2)對沖突涉及的(de)彎(wan)曲進行(xing)(xing)鏡像(xiang),根據曲線(xian)本身及其鏡像(xiang)作為(wei)兩(liang)端控制圖形(xing),確定(ding)(ding)morphing變(bian)換(huan)的(de)變(bian)換(huan)參(can)數,并(bing)根據確定(ding)(ding)的(de)變(bian)換(huan)參(can)數對曲線(xian)進行(xing)(xing)morphing變(bian)換(huan)。
進(jin)一(yi)步地,當彎曲或(huo)彎曲組面(mian)向基線(xian)移位時(shi),morphing變(bian)換(huan)的(de)變(bian)換(huan)參數t為:
當彎曲或彎曲組背向基線移(yi)位時,morphing變換的(de)變換參數t為(wei):
其(qi)中d為(wei)移(yi)(yi)位距離(li),當面向基線(xian)移(yi)(yi)位時(shi),d為(wei)正,當背向基線(xian)移(yi)(yi)位時(shi),d為(wei)負,即d=-d;dmax表示(shi)彎(wan)曲(qu)或(huo)彎(wan)曲(qu)組到基線(xian)的最(zui)遠(yuan)距離(li);基線(xian)為(wei)曲(qu)線(xian)首(shou)、尾節點(dian)的連線(xian)。
進一(yi)步地,所述步驟1)采用拐(guai)點識別的方式進行(xing)彎曲識別。
進一步(bu)地,所述步(bu)驟1)采用約束delaunay三角網進行沖突檢測。
進一步地,所述步驟2)中曲線(xian)是以其(qi)基線(xian)為對(dui)稱(cheng)軸進行鏡像的(de)。
進一步地,所述(shu)移位距離為:
d=dth-min{dtk}
其(qi)中dth表(biao)示(shi)沖突區域的(de)閾值(zhi),dtk為沖突距離。
進(jin)一步地,移(yi)位(wei)(wei)(wei)方向(xiang)(xiang)(xiang)與彎(wan)曲(qu)(qu)(qu)位(wei)(wei)(wei)置(zhi)、曲(qu)(qu)(qu)線等級有關,對(dui)(dui)于彎(wan)曲(qu)(qu)(qu)或(huo)彎(wan)曲(qu)(qu)(qu)組嵌套的沖突,對(dui)(dui)級別低的曲(qu)(qu)(qu)線進(jin)行(xing)移(yi)位(wei)(wei)(wei),若待(dai)移(yi)位(wei)(wei)(wei)目(mu)標是內(nei)側被包含(han)要(yao)素,則移(yi)位(wei)(wei)(wei)方向(xiang)(xiang)(xiang)是移(yi)向(xiang)(xiang)(xiang)該(gai)曲(qu)(qu)(qu)線的基線;若待(dai)移(yi)位(wei)(wei)(wei)目(mu)標是外側要(yao)素,則移(yi)位(wei)(wei)(wei)方向(xiang)(xiang)(xiang)是背(bei)向(xiang)(xiang)(xiang)該(gai)曲(qu)(qu)(qu)線的基線;對(dui)(dui)于彎(wan)曲(qu)(qu)(qu)或(huo)彎(wan)曲(qu)(qu)(qu)組相背(bei)的沖突,優先移(yi)動低級別的曲(qu)(qu)(qu)線彎(wan)曲(qu)(qu)(qu)或(huo)彎(wan)曲(qu)(qu)(qu)組,移(yi)動方向(xiang)(xiang)(xiang)是移(yi)向(xiang)(xiang)(xiang)曲(qu)(qu)(qu)線的基線。
本發明(ming)還提(ti)供了(le)一種基于morphing變換(huan)的線(xian)要素移位裝置(zhi),該移位裝置(zhi)包括檢測單元和變換(huan)單元,
所述的檢(jian)測(ce)單元用(yong)于識(shi)別曲線目標(biao)上(shang)的彎曲,并對識(shi)別的彎曲進(jin)行沖突檢(jian)測(ce);
所述(shu)的(de)變(bian)(bian)換(huan)單元(yuan)用于對沖突(tu)涉及(ji)的(de)彎曲進行(xing)鏡像,根據曲線本(ben)身及(ji)其鏡像作為兩(liang)端控制圖形(xing),確定morphing變(bian)(bian)換(huan)的(de)變(bian)(bian)換(huan)參數(shu)(shu),并根據確定的(de)變(bian)(bian)換(huan)參數(shu)(shu)對曲線進行(xing)morphing移位變(bian)(bian)換(huan)。
進一步地(di),所(suo)述變換單元(yuan)確定的morphing變換參數為:
當(dang)彎(wan)曲或彎(wan)曲組面向基線移位時,morphing變換的變換參數t為:
當彎曲或彎曲組背向(xiang)基線移位時,morphing變換(huan)的變換(huan)參數t為(wei):
其中d為(wei)移位(wei)(wei)距離,當面向基(ji)線移位(wei)(wei)時(shi),d為(wei)正(zheng),當背向基(ji)線移位(wei)(wei)時(shi),d為(wei)負,即d=-d;dmax表示彎(wan)曲或(huo)彎(wan)曲組到基(ji)線的最(zui)遠距離;基(ji)線為(wei)曲線首、尾(wei)節點的連線。
進一(yi)步地,所述移(yi)位距離為:
d=dth-min{dtk}
其中dth表示沖突區(qu)域(yu)的閾值,dtk為沖突距離。
本(ben)(ben)發明(ming)的(de)(de)有(you)益效果是(shi):本(ben)(ben)發明(ming)通過識別曲(qu)(qu)線(xian)(xian)目標(biao)上(shang)的(de)(de)彎(wan)曲(qu)(qu),并對(dui)識別的(de)(de)彎(wan)曲(qu)(qu)進(jin)(jin)(jin)行(xing)(xing)沖突(tu)檢測;然(ran)后對(dui)沖突(tu)涉及的(de)(de)彎(wan)曲(qu)(qu)進(jin)(jin)(jin)行(xing)(xing)鏡(jing)(jing)像(xiang),根據曲(qu)(qu)線(xian)(xian)本(ben)(ben)身及其鏡(jing)(jing)像(xiang)作為兩端控制圖形,確(que)定morphing變(bian)(bian)換的(de)(de)變(bian)(bian)換參(can)數,并根據確(que)定的(de)(de)變(bian)(bian)換參(can)數對(dui)曲(qu)(qu)線(xian)(xian)進(jin)(jin)(jin)行(xing)(xing)morphing變(bian)(bian)換。本(ben)(ben)發明(ming)使(shi)用曲(qu)(qu)線(xian)(xian)與其鏡(jing)(jing)像(xiang)進(jin)(jin)(jin)行(xing)(xing)morphing變(bian)(bian)換來實現移位,避免了(le)特征點識別與匹配的(de)(de)難點,能夠快(kuai)速(su)有(you)效利用morphing變(bian)(bian)換實現線(xian)(xian)要素的(de)(de)移位。
附圖說明
圖1-a是c1型沖突的結構(gou)示(shi)意圖;
圖(tu)1-b是c2型(xing)沖突(tu)的(de)結構示意圖(tu);
圖(tu)1-c是(shi)c3型沖突(tu)的結構示意(yi)圖(tu);
圖2-a是(shi)c4型沖(chong)突的結構示(shi)意(yi)圖;
圖2-b是c5型(xing)沖突的結構(gou)示意圖;
圖(tu)2-c是(shi)c6型沖突(tu)的結構示意圖(tu);
圖3-a是c7型沖突彎(wan)曲的相對位置(zhi);
圖3-b是(shi)c8型沖突彎曲的相對位置;
圖4是沖突類型(xing)的層次(ci)關系示意圖;
圖5是曲線鏡像示意圖;
圖6-a是morphing變換的復雜要(yao)素示意(yi)圖;
圖(tu)6-b是morphing變換的要(yao)素(su)鄰接示意圖(tu);
圖(tu)6-c是morphing變(bian)換的(de)要素不鄰接示意(yi)圖(tu);
圖(tu)7-a是t取0.3時的morphing變(bian)換結果示意(yi)圖(tu);
圖7-b是t取0.2時的morphing變換結果示意圖;
圖(tu)7-c是t取0.1時的morphing變換結果示意圖(tu);
圖7-d是t取-0.1時(shi)的morphing變換(huan)結(jie)果(guo)示意(yi)圖;
圖7-e是t取-0.2時(shi)的morphing變(bian)換結果示意圖;
圖7-f是t取-0.3時的(de)morphing變換結果示意(yi)圖。
具體實施方式
下面結合附圖(tu)對本發明的(de)具體實施(shi)方式做進一步的(de)說明。
本發明一種基于morphing變換(huan)的(de)線要素(su)移(yi)位方法(fa)的(de)實施例
本(ben)發明(ming)morphing變(bian)換(huan)的(de)線要(yao)素移位(wei)方法(fa)首先識別(bie)曲(qu)線目標上的(de)彎曲(qu),然后對(dui)識別(bie)的(de)彎曲(qu)進(jin)行(xing)沖(chong)突檢(jian)測(ce),最后對(dui)沖(chong)突涉及(ji)的(de)彎曲(qu)進(jin)行(xing)鏡像,根(gen)(gen)據曲(qu)線本(ben)身及(ji)其鏡像作為兩端(duan)控制(zhi)圖(tu)形,確定(ding)morphing變(bian)換(huan)的(de)變(bian)換(huan)參數,并根(gen)(gen)據確定(ding)的(de)變(bian)換(huan)參數對(dui)曲(qu)線進(jin)行(xing)morphing變(bian)換(huan)移位(wei),整個移位(wei)過程中不需要(yao)特征點識別(bie)和匹配。下面對(dui)本(ben)發明(ming)的(de)實施(shi)過程進(jin)行(xing)具體描述(shu)。
在對本發(fa)明所采用的(de)移位(wei)(wei)方(fang)法進(jin)行詳細描述前,現(xian)將空(kong)間(jian)沖突(tu)進(jin)行分(fen)類,本發(fa)明空(kong)間(jian)沖突(tu)分(fen)類是根據曲線目標之(zhi)間(jian)的(de)沖突(tu)區域(yu)的(de)數量(liang)、沖突(tu)區域(yu)涉及的(de)彎(wan)曲的(de)數量(liang)和位(wei)(wei)置(zhi)關系三(san)個方(fang)面進(jin)行的(de)。
根據兩(liang)個(ge)(ge)曲(qu)(qu)線(xian)目(mu)標之(zhi)(zhi)間(jian)的沖(chong)(chong)(chong)(chong)突(tu)區(qu)(qu)(qu)域(yu)(yu)的數量,分為單個(ge)(ge)沖(chong)(chong)(chong)(chong)突(tu)區(qu)(qu)(qu)域(yu)(yu)和多(duo)(duo)個(ge)(ge)沖(chong)(chong)(chong)(chong)突(tu)區(qu)(qu)(qu)域(yu)(yu)兩(liang)大類(lei)。將兩(liang)個(ge)(ge)曲(qu)(qu)線(xian)目(mu)標之(zhi)(zhi)間(jian)只(zhi)有一個(ge)(ge)沖(chong)(chong)(chong)(chong)突(tu)區(qu)(qu)(qu)域(yu)(yu)的沖(chong)(chong)(chong)(chong)突(tu)類(lei)型記(ji)為c1,如(ru)圖(tu)1-a所(suo)示(shi);將兩(liang)個(ge)(ge)曲(qu)(qu)線(xian)目(mu)標之(zhi)(zhi)間(jian)有多(duo)(duo)個(ge)(ge)(兩(liang)個(ge)(ge)及兩(liang)個(ge)(ge)以上)沖(chong)(chong)(chong)(chong)突(tu)區(qu)(qu)(qu)域(yu)(yu),且一個(ge)(ge)彎曲(qu)(qu)關(guan)聯(lian)多(duo)(duo)個(ge)(ge)沖(chong)(chong)(chong)(chong)突(tu)區(qu)(qu)(qu)域(yu)(yu)的沖(chong)(chong)(chong)(chong)突(tu)類(lei)型記(ji)為c2,如(ru)圖(tu)1-b所(suo)示(shi);將兩(liang)個(ge)(ge)曲(qu)(qu)線(xian)目(mu)標之(zhi)(zhi)間(jian)有多(duo)(duo)個(ge)(ge)沖(chong)(chong)(chong)(chong)突(tu)區(qu)(qu)(qu)域(yu)(yu),且沖(chong)(chong)(chong)(chong)突(tu)區(qu)(qu)(qu)域(yu)(yu)分別涉及不(bu)同(tong)彎曲(qu)(qu)的沖(chong)(chong)(chong)(chong)突(tu)類(lei)型記(ji)為c3,如(ru)圖(tu)1-c所(suo)示(shi)。
根據沖(chong)(chong)突(tu)(tu)(tu)區(qu)(qu)域(yu)涉(she)及的(de)(de)彎曲數(shu)量進行分類,如(ru)果(guo)發生(sheng)沖(chong)(chong)突(tu)(tu)(tu)的(de)(de)雙方(fang)在(zai)(zai)沖(chong)(chong)突(tu)(tu)(tu)區(qu)(qu)域(yu)都(dou)只涉(she)及一個(ge)(ge)彎曲,則將該沖(chong)(chong)突(tu)(tu)(tu)類型記為c4,如(ru)圖(tu)2-a所示(shi);如(ru)果(guo)發生(sheng)沖(chong)(chong)突(tu)(tu)(tu)的(de)(de)雙方(fang)中,某一方(fang)在(zai)(zai)沖(chong)(chong)突(tu)(tu)(tu)區(qu)(qu)域(yu)只涉(she)及一個(ge)(ge)彎曲,而另(ling)一方(fang)在(zai)(zai)沖(chong)(chong)突(tu)(tu)(tu)區(qu)(qu)域(yu)涉(she)及多個(ge)(ge)彎曲,則將該沖(chong)(chong)突(tu)(tu)(tu)類型記為c5,如(ru)圖(tu)2-b所示(shi);如(ru)果(guo)發生(sheng)沖(chong)(chong)突(tu)(tu)(tu)的(de)(de)雙方(fang)在(zai)(zai)沖(chong)(chong)突(tu)(tu)(tu)區(qu)(qu)域(yu)都(dou)涉(she)及多個(ge)(ge)彎曲,且多個(ge)(ge)彎曲之間沒有明顯(xian)的(de)(de)一一對應關系(xi),將該沖(chong)(chong)突(tu)(tu)(tu)類型記為c6,如(ru)圖(tu)2-c所示(shi)。
根據沖突(tu)區(qu)域的(de)涉及的(de)彎曲的(de)相對(dui)位置進行(xing)分(fen)類,如果(guo)發(fa)生空間(jian)沖突(tu)的(de)雙(shuang)方涉及的(de)彎曲的(de)凸(凹(ao))方向(xiang)一致(zhi),呈(cheng)嵌套分(fen)布(bu)狀態,則沖突(tu)類型標(biao)記(ji)為c7,如圖(tu)3-a所示(shi);如果(guo)發(fa)生空間(jian)沖突(tu)的(de)雙(shuang)方涉及的(de)彎曲的(de)凸(凹(ao))方向(xiang)相反,從而呈(cheng)現相背分(fen)布(bu),則沖突(tu)類型記(ji)為c8,如圖(tu)3-b所示(shi)。
上(shang)述三種不同角度的空間沖(chong)突類型分(fen)類之(zhi)間的層次關(guan)系(xi)如圖4所示(shi)(shi),其中虛線(xian)表示(shi)(shi)組合關(guan)系(xi),如c3可以分(fen)解為c1和或c2的組合,實(shi)線(xian)表示(shi)(shi)繼(ji)承關(guan)系(xi)。
1.彎曲識別。
本實(shi)(shi)施例中的彎(wan)曲識別采用拐(guai)點識別的方式實(shi)(shi)現(xian),具(ju)體步驟如下(xia):
a.從(cong)曲線(xian)的(de)(de)第二個(ge)節點(dian)vi開(kai)始,計算向(xiang)量vi-1vi和vivi+1的(de)(de)方位角ai,令flag=f(ai)。f(a)為角度標識的(de)(de)二值函(han)數,其中(zhong)a為某(mou)方位角的(de)(de)值,范圍為[0°,360°),若a小于等(deng)于180°,則f(a)=0;否(fou)則f(a)=1;并計算f(ai+1),若f(ai+1)不等(deng)于flag,則vi標記為拐點(dian),加入拐點(dian)集pts,并令flag=f(ai+1),否(fou)者(zhe)i++,直到(dao)n-1,即線(xian)要素(su)的(de)(de)所有點(dian)都(dou)被訪問。
b.將首點v0、尾點vn和步驟a確定的拐(guai)點集pts按照其在線要素上的順序,依次加入拐(guai)點列表。
c.將每(mei)相鄰的(de)兩個(ge)拐點之間的(de)弧段(duan)<v2k,v2k+1>為(wei)一(yi)個(ge)彎曲。
2.沖突檢測
對于沖(chong)(chong)突(tu)(tu)檢(jian)測本實(shi)施例采用約束delaunay三角(jiao)網進行沖(chong)(chong)突(tu)(tu)檢(jian)測,該方法能夠精確定(ding)位(wei)沖(chong)(chong)突(tu)(tu)區域(yu)涉及的彎曲(組),檢(jian)測過程如下:
1)對(dui)曲線(xian)進行插(cha)值,以消(xiao)除狹長三角形(xing)產(chan)生的(de)(de)空間隔離影響,插(cha)值的(de)(de)步長為線(xian)要素(su)節點之(zhi)間的(de)(de)最小弧段(duan)長度。
2)以插值(zhi)處理后(hou)的曲線(xian)為(wei)約(yue)束(shu)條件,構建約(yue)束(shu)三角網。
3)刪除(chu)三(san)(san)個(ge)(ge)(ge)頂(ding)(ding)點(dian)全部位于(yu)同(tong)一個(ge)(ge)(ge)曲(qu)線的(de)三(san)(san)角網(wang)(wang),在剩(sheng)下的(de)三(san)(san)角網(wang)(wang)集合(he){ti}中,ti必然是其中一個(ge)(ge)(ge)頂(ding)(ding)點(dian)v位于(yu)某一個(ge)(ge)(ge)曲(qu)線,而另外兩(liang)個(ge)(ge)(ge)頂(ding)(ding)點(dian)位于(yu)另一個(ge)(ge)(ge)曲(qu)線。
4)自其中一個頂點(dian)v向其對邊做垂(chui)(chui)線(xian),垂(chui)(chui)線(xian)的(de)長(chang)(chang)度記為(wei)dti,稱(cheng)這個特定的(de)垂(chui)(chui)線(xian)長(chang)(chang)度為(wei)沖突(tu)距(ju)離,記為(wei)dti⊥<v,ti>,沖突(tu)距(ju)離的(de)值越小(xiao),空間沖突(tu)越嚴重。假設沖突(tu)檢測的(de)距(ju)離閾值dth,若dti<dth,則標識該三(san)角形為(wei)沖突(tu)區域三(san)角形。
3.確定(ding)移位距離和移位方向。
當地物(wu)(wu)要(yao)素(su)(su)(su)密集、圖(tu)上各要(yao)素(su)(su)(su)表示的(de)(de)(de)位(wei)置(zhi)發生矛盾(dun)時,其(qi)避讓關系的(de)(de)(de)處理原(yuan)則一般是:自然地理要(yao)素(su)(su)(su)與(yu)人工(gong)建筑要(yao)素(su)(su)(su)矛盾(dun)時,移(yi)動(dong)人工(gong)建筑要(yao)素(su)(su)(su);主要(yao)要(yao)素(su)(su)(su)與(yu)次(ci)要(yao)要(yao)素(su)(su)(su)矛盾(dun)時,移(yi)動(dong)次(ci)要(yao)要(yao)素(su)(su)(su);獨立(li)地物(wu)(wu)與(yu)其(qi)他要(yao)素(su)(su)(su)矛盾(dun)時,移(yi)動(dong)其(qi)他要(yao)素(su)(su)(su)。地圖(tu)要(yao)素(su)(su)(su)的(de)(de)(de)移(yi)位(wei)策略(lve)可以分(fen)為兩類:針對(dui)不可變(bian)形的(de)(de)(de)地圖(tu)目標(biao)(biao),采取平(ping)移(yi)的(de)(de)(de)方法,而對(dui)于可變(bian)形的(de)(de)(de)地圖(tu)目標(biao)(biao),采用morphing變(bian)換的(de)(de)(de)方法進行移(yi)位(wei),平(ping)移(yi)或morphing變(bian)換的(de)(de)(de)距離和方向用如(ru)下(xia)方法確定(ding)。
對(dui)于某個(ge)沖突(tu)區域cri,其包含(han)的(de)沖突(tu)三角形(xing)集(ji)合(he)為{ctk},ctk∈cri。在三角形(xing)ctk中,計算過頂點v的(de)垂距dtk,也就(jiu)是沖突(tu)距離dtk⊥<v,ctk>。此時,移(yi)位距離d可通過如下公式計算所得。
d=dth-min{dtk}(1)
其中dth表示沖突(tu)區(qu)域的(de)閾值。dv表示目(mu)標比例尺地圖上(shang)的(de)圖面最小可(ke)視(shi)分辨距離,一般為0.2mm或(huo)者0.3mm,那么可(ke)以通過如下公式參考確定dth:
dth=dv×mt(2)
式中(zhong),mt是目標數據的比例尺分(fen)母。
沖突區域的(de)數量會影響移位(wei)距離(li),對于c1型(xing)沖突而言,移位(wei)距離(li)可由式(1)確(que)定;對于c2型(xing)沖突,一(yi)個彎曲對應(ying)多個沖突彎曲,若(ruo)移位(wei)對象是只具有一(yi)個沖突彎曲的(de)a2(共生彎曲),則移位(wei)距離(li)為多個沖突區域的(de)移位(wei)距離(li)的(de)最(zui)大(da)值;對于c3型(xing)沖突,由于沖突區域是相互獨(du)立的(de),可以(yi)分(fen)解為c1型(xing)和或c2型(xing)來分(fen)別處理。
移(yi)(yi)(yi)(yi)(yi)(yi)動的(de)(de)(de)(de)(de)方(fang)向(xiang)(xiang)(xiang)跟彎(wan)(wan)曲(qu)(qu)(qu)位置、曲(qu)(qu)(qu)線(xian)(xian)等(deng)級(ji)(ji)(ji)有(you)關(guan)系,對于(yu)彎(wan)(wan)曲(qu)(qu)(qu)(組(zu))嵌套的(de)(de)(de)(de)(de)c7型沖突,根據沖突雙(shuang)方(fang)曲(qu)(qu)(qu)線(xian)(xian)的(de)(de)(de)(de)(de)等(deng)級(ji)(ji)(ji)不(bu)同(tong)(tong),會(hui)有(you)不(bu)同(tong)(tong)的(de)(de)(de)(de)(de)移(yi)(yi)(yi)(yi)(yi)(yi)位方(fang)向(xiang)(xiang)(xiang)。等(deng)級(ji)(ji)(ji)是(shi)根據空間數據的(de)(de)(de)(de)(de)編碼或者(zhe)屬(shu)性(xing)(xing)來確(que)定的(de)(de)(de)(de)(de),比(bi)如(ru)省(sheng)道(dao)(dao),國道(dao)(dao)等(deng),國道(dao)(dao)的(de)(de)(de)(de)(de)等(deng)級(ji)(ji)(ji)高于(yu)省(sheng)道(dao)(dao),屬(shu)性(xing)(xing)等(deng)級(ji)(ji)(ji)是(shi)已(yi)知量。如(ru)果(guo)曲(qu)(qu)(qu)線(xian)(xian)a1的(de)(de)(de)(de)(de)級(ji)(ji)(ji)別(bie)低于(yu)曲(qu)(qu)(qu)線(xian)(xian)b1,則曲(qu)(qu)(qu)線(xian)(xian)b1保持不(bu)動,而對曲(qu)(qu)(qu)線(xian)(xian)a1進(jin)行移(yi)(yi)(yi)(yi)(yi)(yi)位,移(yi)(yi)(yi)(yi)(yi)(yi)位方(fang)向(xiang)(xiang)(xiang)是(shi)移(yi)(yi)(yi)(yi)(yi)(yi)向(xiang)(xiang)(xiang)曲(qu)(qu)(qu)線(xian)(xian)a1的(de)(de)(de)(de)(de)基(ji)線(xian)(xian);如(ru)果(guo)曲(qu)(qu)(qu)線(xian)(xian)a1的(de)(de)(de)(de)(de)級(ji)(ji)(ji)別(bie)高于(yu)曲(qu)(qu)(qu)線(xian)(xian)b1,則曲(qu)(qu)(qu)線(xian)(xian)a1保持不(bu)動,而對曲(qu)(qu)(qu)線(xian)(xian)b1進(jin)行移(yi)(yi)(yi)(yi)(yi)(yi)位,移(yi)(yi)(yi)(yi)(yi)(yi)動方(fang)向(xiang)(xiang)(xiang)是(shi)背(bei)向(xiang)(xiang)(xiang)曲(qu)(qu)(qu)線(xian)(xian)b1的(de)(de)(de)(de)(de)基(ji)線(xian)(xian);如(ru)果(guo)曲(qu)(qu)(qu)線(xian)(xian)a1的(de)(de)(de)(de)(de)級(ji)(ji)(ji)別(bie)等(deng)于(yu)曲(qu)(qu)(qu)線(xian)(xian)b1,則曲(qu)(qu)(qu)線(xian)(xian)a1和曲(qu)(qu)(qu)線(xian)(xian)b1可以同(tong)(tong)時進(jin)行移(yi)(yi)(yi)(yi)(yi)(yi)位,其中a1的(de)(de)(de)(de)(de)移(yi)(yi)(yi)(yi)(yi)(yi)動方(fang)向(xiang)(xiang)(xiang)是(shi)移(yi)(yi)(yi)(yi)(yi)(yi)向(xiang)(xiang)(xiang)曲(qu)(qu)(qu)線(xian)(xian)a1的(de)(de)(de)(de)(de)基(ji)線(xian)(xian),b1的(de)(de)(de)(de)(de)移(yi)(yi)(yi)(yi)(yi)(yi)動方(fang)向(xiang)(xiang)(xiang)是(shi)背(bei)向(xiang)(xiang)(xiang)曲(qu)(qu)(qu)線(xian)(xian)b1的(de)(de)(de)(de)(de)基(ji)線(xian)(xian)。對于(yu)彎(wan)(wan)曲(qu)(qu)(qu)(組(zu))相背(bei)的(de)(de)(de)(de)(de)c8型沖突,則依據曲(qu)(qu)(qu)線(xian)(xian)的(de)(de)(de)(de)(de)級(ji)(ji)(ji)別(bie),優先移(yi)(yi)(yi)(yi)(yi)(yi)動低級(ji)(ji)(ji)別(bie)的(de)(de)(de)(de)(de)曲(qu)(qu)(qu)線(xian)(xian)彎(wan)(wan)曲(qu)(qu)(qu)(組(zu)),移(yi)(yi)(yi)(yi)(yi)(yi)動方(fang)向(xiang)(xiang)(xiang)是(shi)移(yi)(yi)(yi)(yi)(yi)(yi)向(xiang)(xiang)(xiang)曲(qu)(qu)(qu)線(xian)(xian)的(de)(de)(de)(de)(de)基(ji)線(xian)(xian)。
4.對沖突涉及的彎曲進(jin)行鏡像,拓展morphing變換。
對于(yu)給(gei)定的(de)曲(qu)(qu)線(xian)(xian)(xian)l,pi表示曲(qu)(qu)線(xian)(xian)(xian)的(de)第i個(ge)(ge)節(jie)點(dian),p0為該(gai)曲(qu)(qu)線(xian)(xian)(xian)的(de)首點(dian),pn為該(gai)曲(qu)(qu)線(xian)(xian)(xian)的(de)尾點(dian),將連接該(gai)兩(liang)點(dian)的(de)直線(xian)(xian)(xian)p0pn稱為曲(qu)(qu)線(xian)(xian)(xian)l的(de)基線(xian)(xian)(xian),記為lbase。求解(jie)曲(qu)(qu)線(xian)(xian)(xian)l關(guan)于(yu)基線(xian)(xian)(xian)lbase的(de)鏡(jing)(jing)像,需要(yao)計算(suan)(suan)曲(qu)(qu)線(xian)(xian)(xian)l的(de)每一個(ge)(ge)節(jie)點(dian)pi關(guan)于(yu)基線(xian)(xian)(xian)lbase的(de)鏡(jing)(jing)像點(dian),然后按(an)順序連接成為曲(qu)(qu)線(xian)(xian)(xian)即可。對于(yu)節(jie)點(dian)pi,首先計算(suan)(suan)該(gai)點(dian)在(zai)基線(xian)(xian)(xian)lbase上(shang)的(de)垂足ppi,計算(suan)(suan)方法(fa)如下:
a=-b×k
然后,求解pi關于垂(chui)足ppi的(de)對稱鏡像qi,計算公(gong)式(shi)如下:
qi.x=2×ppi.x-pi.x
qi.y=2×ppi.y-pi.y
最后,按照i從小到大的(de)順(shun)序,依次將(jiang)qi連接構成曲線m,即為l關于(yu)基(ji)線lbase的(de)鏡像。
記f:[0,1]→l是表示輸入曲線l的連續函數,f(0)和f(1)分別對應的是l的首點p0和尾點pn;記g:[0,1]→m是表示鏡像曲線m的連續函數,g(0)和g(1)分別對應的是m的首點q0和尾點qn。根據上述求解曲線鏡像的過程可以看出,pi和qi是嚴格的一一對應關系,對應關系的配置參數就是它們位于曲線上的序號i。也就是說,對于給定的u(0≤u≤1),必然存在
h(t,u)=(1-t)×f(u)+t×g(u)
其中,h(t,u)是關(guan)于f(u)與g(u)變(bian)換(huan)(huan)的(de)點,t是用(yong)于控制形狀變(bian)換(huan)(huan)程(cheng)(cheng)度的(de)參數。當(dang)t=0時(shi),h(0,u)=f(u),即(ji)此時(shi)的(de)變(bian)換(huan)(huan)結果是輸入曲線l;當(dang)t=1時(shi),h(1,u)=g(u),即(ji)此時(shi)的(de)變(bian)換(huan)(huan)結果為鏡(jing)像(xiang)曲線m。t從0變(bian)換(huan)(huan)至1的(de)過(guo)程(cheng)(cheng)則對應著曲線l漸變(bian)為其鏡(jing)像(xiang)m的(de)過(guo)程(cheng)(cheng)。
對于morphing變換而(er)言,兩個曲(qu)線的(de)特(te)征點(dian)(dian)識(shi)別(bie)以及特(te)征點(dian)(dian)之間的(de)對應關(guan)(guan)系至(zhi)關(guan)(guan)重要,它直接影響著(zhu)morphing變換曲(qu)線的(de)精度(du)和形狀。本發(fa)明使用曲(qu)線與其鏡像進行(xing)morphing變換來(lai)實現移位,曲(qu)線及其鏡像之間的(de)節點(dian)(dian)必(bi)然是一(yi)一(yi)對應關(guan)(guan)系,避免了特(te)征點(dian)(dian)識(shi)別(bie)與匹配兩個難點(dian)(dian)。
由于(yu)f:[0,1]→l是連(lian)續函數,故而(er)不(bu)能表示一(yi)個(ge)線(xian)要(yao)素包含多(duo)(duo)個(ge)部分的(de)復雜(za)曲(qu)線(xian),如圖(tu)(tu)6-a中的(de)要(yao)素b1包含兩(liang)(liang)個(ge)相離(li)的(de)幾(ji)何(he)曲(qu)線(xian)。對于(yu)這(zhe)種復雜(za)曲(qu)線(xian),本文需要(yao)首先將其拆分成(cheng)多(duo)(duo)個(ge)簡單曲(qu)線(xian)。另外,還可能會遇(yu)到(dao)一(yi)個(ge)沖(chong)突(tu)(tu)區(qu)域(yu)涉及(ji)多(duo)(duo)個(ge)相鄰(lin)接(jie)的(de)曲(qu)線(xian)的(de)情況,如圖(tu)(tu)6-b中的(de)沖(chong)突(tu)(tu)區(qu)域(yu)涉及(ji)兩(liang)(liang)個(ge)鄰(lin)接(jie)的(de)要(yao)素b2和(he)b3。此時(shi)需要(yao)將鄰(lin)接(jie)的(de)曲(qu)線(xian)合并為一(yi)個(ge)整(zheng)體,綜合考慮彎曲(qu)情況并進行morphing變換和(he)移位。對于(yu)如圖(tu)(tu)6-c中的(de)沖(chong)突(tu)(tu)區(qu)域(yu)涉及(ji)兩(liang)(liang)個(ge)不(bu)相接(jie)的(de)要(yao)素b4和(he)b5的(de)現象(xiang),由于(yu)morphing變換對曲(qu)線(xian)的(de)首尾(wei)(wei)點(dian)沒(mei)有改變,因(yin)此,當沖(chong)突(tu)(tu)區(qu)域(yu)涉及(ji)曲(qu)線(xian)的(de)首點(dian)或尾(wei)(wei)點(dian)時(shi),則(ze)morphing變換不(bu)適用,應考慮選(xuan)擇其他移位方法,比(bi)如整(zheng)體平移等。
在(zai)普(pu)(pu)通morphing變(bian)(bian)換中(zhong),t是(shi)一(yi)個(ge)與(yu)(yu)比(bi)例(li)(li)尺有(you)關的(de)(de)(de)參(can)數,表明變(bian)(bian)換結(jie)果(guo)隨比(bi)例(li)(li)尺的(de)(de)(de)不(bu)(bu)同而(er)變(bian)(bian)化。而(er)本發(fa)明采用morphing變(bian)(bian)換的(de)(de)(de)目的(de)(de)(de)是(shi)對曲線(xian)進行移(yi)位(wei),此處(chu)的(de)(de)(de)t是(shi)一(yi)個(ge)與(yu)(yu)移(yi)位(wei)距(ju)(ju)離(li)和方(fang)(fang)(fang)向(xiang)(xiang)(xiang)相關的(de)(de)(de)參(can)數。移(yi)位(wei)距(ju)(ju)離(li)d是(shi)控制morphing變(bian)(bian)換程度的(de)(de)(de)定(ding)量指標,對于某個(ge)彎曲而(er)言,該彎曲的(de)(de)(de)移(yi)位(wei)方(fang)(fang)(fang)向(xiang)(xiang)(xiang)不(bu)(bu)僅可以面向(xiang)(xiang)(xiang)基(ji)線(xian)方(fang)(fang)(fang)向(xiang)(xiang)(xiang)移(yi)位(wei),還可以背向(xiang)(xiang)(xiang)基(ji)線(xian)方(fang)(fang)(fang)向(xiang)(xiang)(xiang)移(yi)位(wei),為了與(yu)(yu)普(pu)(pu)通morphing變(bian)(bian)換中(zhong)t的(de)(de)(de)參(can)數意(yi)義相同,本發(fa)明規定(ding)面向(xiang)(xiang)(xiang)基(ji)線(xian)方(fang)(fang)(fang)向(xiang)(xiang)(xiang)為正(zheng)方(fang)(fang)(fang)向(xiang)(xiang)(xiang),背向(xiang)(xiang)(xiang)基(ji)線(xian)方(fang)(fang)(fang)向(xiang)(xiang)(xiang)為負方(fang)(fang)(fang)向(xiang)(xiang)(xiang)。例(li)(li)如(ru),面向(xiang)(xiang)(xiang)基(ji)線(xian)方(fang)(fang)(fang)向(xiang)(xiang)(xiang)移(yi)位(wei)距(ju)(ju)離(li)d=3m,背向(xiang)(xiang)(xiang)基(ji)線(xian)方(fang)(fang)(fang)向(xiang)(xiang)(xiang)移(yi)位(wei)則是(shi)d=-3m。
當(dang)彎曲(qu)(組(zu))面向基線(xian)移(yi)(yi)(yi)位(wei)(wei)(wei)(wei)時,曲(qu)線(xian)局部(bu)的彎曲(qu)(組(zu))移(yi)(yi)(yi)位(wei)(wei)(wei)(wei)不能超(chao)過其(qi)基線(xian),即0<d<dmax,此處dmax表示彎曲(qu)(組(zu))到(dao)基線(xian)的最遠距離,當(dang)曲(qu)線(xian)移(yi)(yi)(yi)位(wei)(wei)(wei)(wei)超(chao)過了(le)基線(xian)位(wei)(wei)(wei)(wei)置(zhi)時,一般(ban)會(hui)認為該(gai)曲(qu)線(xian)已經發生較大的形態變(bian)化,應(ying)該(gai)對(dui)曲(qu)線(xian)予以整體的移(yi)(yi)(yi)位(wei)(wei)(wei)(wei),即全(quan)部(bu)彎曲(qu)(組(zu))都(dou)進行平移(yi)(yi)(yi),也就(jiu)是全(quan)局移(yi)(yi)(yi)位(wei)(wei)(wei)(wei)。為了(le)使(shi)移(yi)(yi)(yi)位(wei)(wei)(wei)(wei)之后的空間(jian)沖(chong)突得到(dao)消解,假設需要(yao)移(yi)(yi)(yi)位(wei)(wei)(wei)(wei)的距離為d,則(ze)t計算如(ru)下(xia):
d=dmax時(shi),t取到(dao)(dao)極限值(zhi)0.5,h(0.5,u)=0.5×f(u)+0.5×g(u),即此時(shi)的(de)變換(huan)結果為f(u)與g(u)的(de)對稱軸,也(ye)就是基線(xian)lbase。考慮到(dao)(dao)曲(qu)線(xian)局部曲(qu)線(xian)(組)的(de)移位一般都不能超(chao)過其基線(xian),根據上式可知,面向基線(xian)移位時(shi)的(de)形變參數t的(de)取值(zhi)范(fan)圍是0≤t<0.5。
當彎(wan)曲(qu)(組(zu)(zu))背向(xiang)基線(xian)(xian)移位時,d<0,相當于對(dui)曲(qu)線(xian)(xian)l做(zuo)“拉伸”。普通morphing變換(huan)中(zhong)t的(de)(de)取值范(fan)圍是(shi)0≤t≤1。如圖7-d、圖7-e和圖7-f中(zhong)虛線(xian)(xian)所(suo)示,從這(zhe)(zhe)個角度看,在(zai)(zai)彎(wan)曲(qu)(組(zu)(zu))背向(xiang)基線(xian)(xian)移位時,拉伸的(de)(de)結果及其鏡像等價于普通morphing變換(huan)兩端的(de)(de)控(kong)制曲(qu)線(xian)(xian),但(dan)是(shi)在(zai)(zai)本發明(ming)中(zhong)卻為未(wei)知(zhi)量,而輸入(ru)曲(qu)線(xian)(xian)在(zai)(zai)此時相當于morphing變換(huan)的(de)(de)結果,在(zai)(zai)本發明(ming)中(zhong)為已知(zhi)量,這(zhe)(zhe)正好是(shi)普通morphing變換(huan)關于輸入(ru)曲(qu)線(xian)(xian)與(yu)輸出曲(qu)線(xian)(xian)的(de)(de)反函數(shu)。此時,變換(huan)參數(shu)t定義如下:
此時(shi),t的(de)取(qu)值(zhi)(zhi)范(fan)圍是(shi)t<0,曲線l的(de)morphing變換(huan)結(jie)果位(wei)于l的(de)外側,實現了背向基線的(de)移(yi)(yi)位(wei)。因此本發明中的(de)變換(huan)參數t是(shi)一個(ge)與(yu)移(yi)(yi)位(wei)距離和方(fang)(fang)向相關的(de)參數,t的(de)正(zheng)負體現了移(yi)(yi)位(wei)的(de)方(fang)(fang)向,t的(de)絕對值(zhi)(zhi)大小體現了移(yi)(yi)位(wei)的(de)距離,t的(de)取(qu)值(zhi)(zhi)分別為0.3、0.2、0.1、-0.1、-0.2、-0.3,不同的(de)t取(qu)值(zhi)(zhi)下morphing變換(huan)結(jie)果分別如圖7-a、圖7-b、圖7-c、圖7-d、圖7-e和圖7-f所示(shi),其中實線是(shi)輸(shu)入曲線,虛(xu)線是(shi)移(yi)(yi)位(wei)結(jie)果。
通(tong)過(guo)(guo)上(shang)述過(guo)(guo)程(cheng)可知(zhi),本(ben)發(fa)明的(de)(de)整個(ge)移位過(guo)(guo)程(cheng)中不需要(yao)特(te)征點(dian)識別和匹配,能夠有(you)效解決目前morphing變換(huan)過(guo)(guo)程(cheng)中計(ji)算(suan)量大(da),處理慢的(de)(de)問題。
本發明一(yi)種基于morphing變換的線要素(su)移位裝(zhuang)置的實施例
本實施(shi)例(li)(li)的(de)移位裝置包(bao)括檢(jian)測單(dan)元(yuan)和變換單(dan)元(yuan),檢(jian)測單(dan)元(yuan)用于識(shi)別曲(qu)(qu)線目標上(shang)的(de)彎曲(qu)(qu),并對識(shi)別的(de)彎曲(qu)(qu)進(jin)(jin)行(xing)(xing)沖突檢(jian)測;變換單(dan)元(yuan)用于對沖突涉及的(de)彎曲(qu)(qu)進(jin)(jin)行(xing)(xing)鏡(jing)像,根據(ju)曲(qu)(qu)線本身及其鏡(jing)像作為兩端控制(zhi)圖形,確定morphing變換的(de)變換參數,并根據(ju)確定的(de)變換參數對曲(qu)(qu)線進(jin)(jin)行(xing)(xing)morphing移位變換。各單(dan)元(yuan)的(de)具體實現手段已在方(fang)法的(de)實施(shi)例(li)(li)中(zhong)進(jin)(jin)行(xing)(xing)了(le)說明,這里不再贅述。