喬俊軍,胡馮偉
(武漢大學(xué)測繪學(xué)院,湖北武漢430079)
一種線狀要素深度簡化方法
喬俊軍,胡馮偉
(武漢大學(xué)測繪學(xué)院,湖北武漢430079)
提出了一種線狀要素深度簡化的方法,該方法將線狀要素簡化分解成若干子過程,每個子過程通過彎曲識別與分類,并利用具有一致性和自適應(yīng)的閾值組合實現(xiàn)了線狀要素的規(guī)?;幚?。試驗表明,該方法能適應(yīng)于不同制圖因子——線寬、類型、比例尺要素的簡化,相比于Douglas等簡化方法更接近于人工處理的結(jié)果。
線狀要素;深度簡化;彎曲分類;閾值組合;線寬
隨著由庫到圖的制圖技術(shù)越來越成熟,新版《國家普通地圖集》采用國家1∶100萬基礎(chǔ)地理信息數(shù)據(jù)庫作為制圖數(shù)據(jù)進行縮編成圖。然而,從百萬比例尺縮編成幾百萬,甚至是千萬比例尺的地圖,不可避免地面臨著線要素綜合問題。其中,線要素簡化是線要素綜合的核心問題。
目前,國內(nèi)外已有很多關(guān)于線要素簡化方面的研究。其中較著名的有Douglas算法[1],該方法通過判斷曲線節(jié)點與直線的距離是否小于給定的閾值,從而達到數(shù)據(jù)簡化的目的,如果小于,則剔除節(jié)點。為了彌補Douglas算法在簡化過程中損失的信息,Tong等利用最小二乘理論,提出了一種不確定性過程模型,避免了簡化后曲線長度、面積等信息的失真[2]。Li等受啟發(fā)于自然界中所觀察到的自然綜合過程原理,提出了一種自適應(yīng)線狀要素綜合算法,該方法利用最小可見目標(biāo)尺寸作為曲線細節(jié)信息刪除與否的閾值,以達到簡化的目的[3]。針對Li-Openshaw算法的不足,朱鯤鵬等利用局部極大值點[4]、黃志堅等利用角點檢測器篩選出的關(guān)鍵點[5],將曲線在特征點處分段,每段再用Li-Openshaw進行簡化,從而更好地保持了曲線整體形狀。
近年來,學(xué)者們探尋出了一條利用彎曲識別來達到線要素簡化的新思路。艾廷華利用約束的Delaunay三角網(wǎng)模型提出了一種曲線彎曲特征的深度層次結(jié)構(gòu),實現(xiàn)了大彎曲套小彎曲層次結(jié)構(gòu)的表達[6]。毋河海通過多次應(yīng)用矢量叉積乘積,結(jié)合曲線光滑原理,以尋找曲線的最或然拐點[7]。羅廣祥利用坐標(biāo)非單調(diào)性變化產(chǎn)生線狀地圖要素彎曲的認知模型,并通過順序比較坐標(biāo)大小來識別地圖彎曲[8]。郭慶勝從視知覺的角度,綜合利用曲線的極值點、拐點、迂回曲線分界點、方向擾動奇異點來識別彎曲[9]。操震洲以曲線軸線作為彎曲劃分基準,通過遞歸方式層次化提取不同方向、不同區(qū)間上的彎曲[10]。
不置可否,目前所見文獻對線要素簡化有一定的研究意義,但現(xiàn)有處理方法所獲得的簡化結(jié)果較難令人滿意,以至于在制圖過程中,人們往往更愿意采用手工為主的方式對線要素進行簡化,原因有以下幾點:
1)就制圖而言,線要素簡化不僅要減少節(jié)點,保持彎曲特征,還要考慮地圖出版印刷等問題。
2)針對不同類型、比例尺的線要素,閾值較難保證統(tǒng)一,從而導(dǎo)致方法的適用性不高。
3)僅利用彎曲識別較難獲得滿意的結(jié)果,還需要對彎曲進行分類,因為不同類型的彎曲處理方式不同。
綜上所述,如何提出一種能夠處理多類型線要素,且能與手工處理結(jié)果相接近的簡化方法,已成為《國家普通地圖集》迫切需要解決的問題[3]。為此,本文提出一種深度簡化方法,該方法將線要素簡化分解成若干子過程,各個子過程通過彎曲識別與分類,并根據(jù)自適應(yīng)或符合視覺認知的閾值進行組合,處理不同類型的彎曲。
1.彎曲分類
假設(shè)兩線段組成的彎曲為一級彎曲,三線段組成的彎曲為二級彎曲。
由于一級彎曲是最底層彎曲,具有普遍性,因此一級彎曲的可分類性不高,本文重點在于二級彎曲的分類。根據(jù)二級彎曲中是否存在拐點,可將其分為兩大類。其中拐點存在與否可利用式(1)來判斷[7],即
結(jié)合下文中的彎曲夾角θ,又可將每個大類分成4小類,具體見表1。
表1 二級彎曲分類
令Q( P1,P2,P3,P4)為彎曲識別函數(shù),P為輸入的節(jié)點,其值域為Q1~Q8。由表1可知,任何節(jié)點數(shù)大于4的線要素都是由二級彎曲組合而成的。
2.簡化閾值
為了判斷二級彎曲在何種情況下需要處理,閾值是個不可避免的問題,其定義如下:
1)彎曲口長L[11]:一級彎曲中,首尾節(jié)點之間的距離,如圖1所示。
2)彎曲深度H[11]:一級彎曲中,中間節(jié)點到首尾節(jié)點所在直線的距離,如圖1所示。
3)彎曲夾角θ:一級彎曲中,兩線段的夾角,其中0〈θ〈180°,如圖1所示。
圖1 一級彎曲上的簡化閾值
4)拐線長度L′:二級彎曲中間線段的長度。
5)平均線段長度ˉL:曲線上所有線段的平均值。
6)平均彎曲夾角θ:曲線上彎曲夾角的平均值。
7)彎曲重疊度D:因線寬導(dǎo)致的曲線在轉(zhuǎn)角處產(chǎn)生重疊與相鄰線段的差值,如圖2所示,其中
式中,W為線寬。需要說明的是二級彎曲的拐線有兩個彎曲重疊度。
圖2 彎曲重疊度
簡化目標(biāo):在保證彎曲特征的情況下,使原始線要素禁錮在結(jié)果線要素的線寬范圍內(nèi),且盡可能使原始線要素處于結(jié)果線要素的中間,如圖3所示,黑色為原始線要素?;疑珵楹喕Y(jié)果線要素。
圖3 簡化目標(biāo)
簡化思想:如果僅將線要素分成一級彎曲來處理,很難得到滿意的結(jié)果,因為一級彎曲之間的關(guān)聯(lián)性很強,處理一級彎曲時,會對其相鄰的一級彎曲造成破壞。雖然二級彎曲之間的關(guān)聯(lián)性較弱,但如果將彎曲對象僅局限于單個的二級彎曲,也較難獲得滿意的結(jié)果,因為在線要素節(jié)點環(huán)境非常復(fù)雜的情況下,往往存在單個二級彎曲的處理是模糊的情況,即使人工都難以決策。而且在線要素簡化的過程中,線要素上各個一、二級彎曲的尺寸是逐漸變大的。
基于此,深度簡化方法應(yīng)運而生。該方法將線要素的簡化過程剝離成多個子過程,每個子過程處理不同類型的彎曲,且每個子過程的閾值組合隨著彎曲類型的不同而不同。具體如下:
1.重點剔除
輸入節(jié)點P1、P2,計算點間距l(xiāng)12,若l12〈Δl,則刪除節(jié)點P1或P2,并進行迭代,直到?jīng)]有新點刪除為止。
2.第1層簡化
考慮到當(dāng)比例尺相差較大時,如從百萬數(shù)據(jù)庫到千萬比例尺圖的縮編過程,線要素上的節(jié)點數(shù)量是非常巨大的,因此需要首先對一級彎曲進行處理,為下層簡化減輕負擔(dān)。假設(shè)輸入節(jié)點 (P1,P2,P3),計算彎曲深度、彎曲口長和彎曲夾角,利用如下閾值組合,判斷是否處理當(dāng)前彎曲
式中]表示“并”,下同。式(3)表明,當(dāng)彎曲深度小于Δh、彎曲口長小于dl,且彎曲夾角小于平均彎曲夾角時,一級彎曲近似于線段,故刪除節(jié)點P2。
迭代上述過程,直到?jīng)]有新點刪除為止。如圖4(a)所示。
3.第2層簡化
該層簡化主要對獨立的二級彎曲進行處理。假設(shè)輸入節(jié)點 (P1,P2,P3,P4),首先利用式(2)計算該二級彎曲首尾兩線段的彎曲重疊度D1、D3,以及拐線的彎曲重疊度D21、D22,然后根據(jù)二級彎曲的類型,進行如下處理
式中{表示“或”,下同。由式(4)可知,當(dāng)彎曲類型為Q2~Q8時,判斷D21、D22是否小于0.1 mm。若兩者都小0.1 mm,說明拐線很短,在視覺上會被相鄰線段淹沒掉。此時,若l12、l34均小于平均點間距ˉL,那么移動節(jié)點P2,并刪除節(jié)點P3。
若彎曲類型為Q5~Q8時,判斷D1、D21是否小于0.1 mm。若相鄰兩線段的彎曲重疊度均小于0.1 mm,那么在視覺上兩線段近似重合。此時,需要刪除節(jié)點P2。同理,當(dāng)D22、D3均小于0.1 mm時,刪除節(jié)點P3。
由于線要素的節(jié)點環(huán)境對于計算機而言是未知的,在某些情況下,式(4)的判斷會無效,但是拐線在視覺上仍然會被淹沒掉,主要原因是L′〈W,因此在這種情況下,需根據(jù)式(5)來處理彎曲
式中,n為顯著系數(shù)。由式(5)可知,當(dāng)存在L′〈W的情況時,首先判斷l(xiāng)12與l34的關(guān)系,如果l12明顯比l34長,那么刪除節(jié)點P3,反之刪除節(jié)點P2。如果兩者長度對比不明顯,就移動節(jié)點P2,并刪除節(jié)點P3。迭代上述過程,直到?jīng)]有新點刪除為止,如圖4(b)所示。
4.第3層簡化
實際上,第2層簡化能夠?qū)Υ蟛糠知毩⒍墢澢M行處理,但在某些情況下,獨立二級彎曲的處理是模糊的,即使人工都難以判斷,因此需要對獨立二級彎曲進行延伸,以作為輔助判斷來決定當(dāng)前二級彎曲處理方式。
假設(shè)輸入節(jié)點 (P0,P1,P2,P3,P4,P5),(P1,P2,P3,P4)為當(dāng)前二級彎曲,P0、P5為延伸點,從而將獨立的二級彎曲延伸為3個相鄰的二級彎曲。
1)若當(dāng)前彎曲類型為Q1,彎曲的處理方式見式(6)
式(6)表明,為了控制彎曲的處理長度,保證曲線特征,首先比較l12、L′及第1個彎曲口長L1與平均點間距ˉL的大小,若都小于ˉL,繼續(xù)判斷Q(P0,P1,P2,P3)的彎曲類型,若為Q1,則直接移動節(jié)點P2,同時根據(jù)l12與l34的關(guān)系,移動節(jié)點P3;若當(dāng)前二級彎曲的前后相鄰的二級彎曲為Q2和Q5~Q8,則刪除節(jié)點P2。同理,比較L′、l34及第2個彎曲口長L2與ˉL的關(guān)系,進行同樣過程的處理。最后,若拐線較短,且二級彎曲首尾線段較長,即比較l12、L′、l34與ˉL的大小,若符合式(6),則移動節(jié)點P2,并刪除節(jié)點P3。
2)若當(dāng)前彎曲類型為Q2時,彎曲的處理方式見式(7),需要說明的,彎曲類型Q3與Q2處理方式一致。
根據(jù)式(7),首先判斷l(xiāng)12、L′、L1與ˉL的關(guān)系,若均小于ˉL,則判斷Q( P0,P1,P2,P3)是否為Q1,若是,則移動節(jié)點P1和P2。為處理節(jié)點P3,還需判斷l(xiāng)34與Lˉ的大小,若l34小于ˉL,可認為l34很短,則根據(jù)兩節(jié)點坐標(biāo)平均值移動節(jié)點;否則,認為l34較長,直接根據(jù)坐標(biāo)平均值會影響簡化的效果,故利用l34與Lˉ的比值關(guān)系來移動節(jié)點P3。若Q( P0,P1,P2,P3)為Q3,則先判斷D1和D21是否小于0.1 mm,若是,則刪除節(jié)點P2;否則,為剔除無意義的突起彎曲,再判斷l(xiāng)01是否小于ˉL,若是,則刪除節(jié)點P2。
3)若當(dāng)前彎曲類型為Q4時,彎曲的處理方式見式(8)。
根據(jù)式(8),首先判斷L2是否小于Lˉ,若是,再判斷Q( P0,P1,P2,P3)是否為Q4,若是,則刪除節(jié)點P2。若Q( P0,P1,P2,P3)沒有拐點,且l34小于平均點間距,那么移動節(jié)點P2,并刪除節(jié)點P3,當(dāng)L2〈Lˉ時,彎曲的處理方式與L1〈ˉL一致。
迭代上述過程,直到?jīng)]有新點刪除為止。如圖4(c)所示。
需要說明的是:
1)在線要素深度簡化的過程中,平均點間距Lˉ的作用是控制彎曲的長度,保證彎曲特征。
2)式(5)—式(8)中,部分節(jié)點有的根據(jù)坐標(biāo)均值來移動,有的根據(jù)線段比值關(guān)系來移動。主要是考慮到當(dāng)線段明顯較短時,可以直接用坐標(biāo)均值的方式移動節(jié)點,而當(dāng)線段明顯較長時,如果用坐標(biāo)均值的方式移動節(jié)點,會導(dǎo)致簡化后的線段偏離原始線段,這就背離了上文闡述的“簡化目標(biāo)”,因此需要根據(jù)線段的比值關(guān)系來移動節(jié)點。有精度的。
2)對于式(3)中的Δh、dl的取值,根據(jù)圖上最小可視距離[11]為0.3~0.6 mm。試驗中將dl取值為0.3 mm。同時,考慮到線寬是線要素一個非常重要的制圖因子,試驗中將Δh取值為線寬的1/4。因此,當(dāng)一級彎曲滿足式(3)的閾值組合時,可用直線代替一級彎曲,達到簡化的目的。
3)對于式(5)中的顯著系數(shù)n,可取值為1.5,因為當(dāng)線段A的長度大于線段B的1.5倍時,可視為線段A明顯長于線段B。
4)彎曲重疊度的賦值,主要考慮到線段在視覺上是否會被淹沒等情況。一般情況下取值為0.1,即當(dāng)兩線段間距小于0.1 mm時,可視為兩線段重合。
5)其他閾值在簡化過程中是自適應(yīng)的,與平均點間距、平均彎曲夾角有關(guān)。
2.簡化試驗
試驗數(shù)據(jù)來源于國家百萬數(shù)據(jù)庫。
1)同線寬不同比例尺下的深度簡化試驗,見圖5、表2,線寬為0.2 mm,黑色細線為原始線要素。
圖4中,黑色為原始線要素,灰色為各子過程簡化后的線要素。
圖4 深度簡化過程
圖5 不同比例尺線要素的深度簡化
表2 簡化后的節(jié)點對比
1.閾值賦值
1)對于重點剔除過程中的Δl取值,試驗中將其賦值為0.000 1 mm。需要說明的是,Δl取值不固定,只要認為兩點的點間距小于Δl,就視為重點即可,但該值一定不能為0,因為計算機的浮點計算是
2)同比例尺不同線寬的深度簡化試驗,見圖6、表3,線要素的比例尺為1∶800萬。
圖6 不同寬度線要素的深度簡化
表3 簡化后的節(jié)點對比
3)不同類型要素的深度簡化試驗,如圖7所示,包括島嶼、境界線、道路、海岸線。
圖7 不同型線要素的深度簡化
4)與其他簡化方法的對比試驗,見圖8、表4,線寬為0.2 mm,比例尺為1∶1600萬。
圖8 不同簡化方法對比
表4 簡化后的節(jié)點對比
3.結(jié)果分析
1)根據(jù)圖5和表2,在線寬相同的條件下,隨著比例尺的增大,深度簡化能夠保留線要素更多的細節(jié),相應(yīng)的,線要素的節(jié)點也會增加;反之,會剔除多余彎曲,使節(jié)點更少。這與客觀認識是相符合的,因為對同一要素而言,比例尺越大,范圍就越大,有意義的信息就會越多,就越能看清要素的細節(jié)部分;反之,能看到的細節(jié)就越少。
2)根據(jù)圖6和表3,在比例尺相同的情況下,隨著線寬的減小,深度簡化能夠保留線要素更多的細節(jié),相應(yīng)的,線要素節(jié)點就會增加;反之,會剔除無意義細節(jié),使節(jié)點更少。這與客觀認識是相符合的,因為,線寬越小,彎曲之間的影響就越小,能夠顯示的細節(jié)就越多,反之,細節(jié)會被淹沒。
3)根據(jù)圖7,深度簡化能夠適應(yīng)于多種不同類型的線要素簡化。但各類型線要素的簡化結(jié)果并非是相同的。其中,道路簡化的效果最好,簡化后,幾乎不用人工再參與;相比較而言,海岸線與島嶼的簡化結(jié)果就沒有道路那么好,還需要人工檢查與再編輯;境界線次之。主要原因是自然要素的邊界無規(guī)律可循,節(jié)點環(huán)境非常復(fù)雜,而人文要素邊界規(guī)律性較強,節(jié)點環(huán)境相對較簡單。
4)根據(jù)圖8和表4,深度簡化的結(jié)果與人工的簡化結(jié)果最接近,優(yōu)于道格拉斯與ArcGIS彎曲簡化所獲得的結(jié)果。
本文提出了一種深度簡化方法,該方法將簡化過程剝離成數(shù)個子過程,每個子過程通過彎曲識別與分類,并利用不同的閾值組合來處理彎曲。試驗證明,該方法充分考慮了線要素的制圖因子——線寬,并針對不同比例尺、不同類型的對象都有很好的簡化效果。同時,相比于其他簡化方法,該方法的簡化結(jié)果更接近于人工處理結(jié)果,基本實現(xiàn)了以計算機為主、人工為輔的目標(biāo),提高了制圖效率。
為了進一步減少人工參與,提高要素尤其是自然要素簡化的滿意度,本文后續(xù)將會嘗試對三級甚至更高級的彎曲進行分類與處理。
[1] DOUGLAS D H,PEUCKER T K.Algorithms for the
Reduction of the Number of Points Required to Represent a Digitized Line or Its Caricature[J].Canadian Cartographer,1973,10(2):112-122.
[2] TONG X,XU G.A New Least Squares Method Based Line Generalization in GIS[J].International Geoscience and Remote Sensing Symposium,2004(5):2912-2915.
[3] LI Z L.OPENSHAW S.Linear Feature’s Self-adapted Generalization Algorithm Based on Impersonality Generalized Natural Law[J].Translation of Wuhan Technical University of Surveying and Mapping,1994(1): 49-58.
[4] 朱鯤鵬,武芳,王輝連,等.Li-Openshaw算法的改進與評價[J].測繪學(xué)報,2007,36(4):450-455.
[5] 黃志堅,張金芳,徐帆江.關(guān)鍵點檢測的線要素綜合算法[J].中國圖象圖形學(xué)報,2012,17(2):241-248.
[6] 艾廷華,郭仁忠,劉耀林.曲線彎曲深度層次結(jié)構(gòu)的二叉樹表達[J].測繪學(xué)報,2001,30(4):343-348.
[7] 毋河海.數(shù)字曲線拐點的自動確定[J].武漢大學(xué)學(xué)報(信息科學(xué)版),2003,28(3):330-335.
[8] 羅廣祥,祝國瑞,毋河海,等,坐標(biāo)單調(diào)分析下地圖曲線彎曲識別模型的研究[J],測繪通報,2005(10): 21-24.
[9] 郭慶勝,黃遠林,章莉萍.曲線的彎曲識別方法研究[J].武漢大學(xué)學(xué)報(信息科學(xué)版),2008,33(6): 596-599.
[10] 操震洲,李滿春,陳亮.曲線彎曲的多叉樹表達[J].測繪學(xué)報,2013,42(4):602-607.
[11] 黃博華,武芳,崔仁健,等.保持彎曲特征的線要素化簡算法[J].測繪科學(xué)技術(shù)學(xué)報,2014,31(5):533-537.
A Method of Deep Simplification for Line Features
QIAO Junjun,HU Fengwei
10.13474/j.cnki.11-2246.2016.0222.
P28
B
0494-0911(2016)07-0048-07
2015-09-17;
2015-11-02
喬俊軍(1961—),男,高級工程師,主要從事地圖學(xué)與地理信息工程教學(xué)及研究工作。E-mail:623083313@qq.com
引文格式:喬俊軍,胡馮偉.一種線狀要素深度簡化方法[J].測繪通報,2016(7):48-54.