欒磊洋 符季穎
(北京建筑大學(xué)測繪與城市空間信息學(xué)院,北京102616)
線化簡是有選擇性地去掉曲線上的點(diǎn),并對其它點(diǎn)進(jìn)行合理位移,在化簡點(diǎn)要素的條件下很好地保持線要素的形態(tài),最終實(shí)現(xiàn)要素在客戶端高效的多尺度漸進(jìn)式可視化?;陧旤c(diǎn)的線要素化簡方法算法效率較高,但該方法以節(jié)點(diǎn)數(shù)量簡化為主,整體形狀保持較差,并且僅考慮單獨(dú)線要素節(jié)點(diǎn),少有顧及不同圖層間線要素化簡后拓?fù)淇臻g關(guān)系,因此,本文提出一種基于節(jié)點(diǎn)約束的境界線要素化簡方法,在境界線要素為多節(jié)點(diǎn)線段的情況下,利用節(jié)點(diǎn)分類模型提取存在約束關(guān)系的節(jié)點(diǎn),將得到的約束節(jié)點(diǎn)集合與境界線要素生成的點(diǎn)集合進(jìn)行比對,在化簡過程中保留存在約束的節(jié)點(diǎn),從而在避免拓?fù)錄_突的情況下實(shí)現(xiàn)線要素的化簡。
境界線數(shù)據(jù)形態(tài)表達(dá)有以下特征:
1.1.1 國界線與省界線、省界線與市界線不存在重疊關(guān)系。
1.1.2 省界、市界間重疊部分均有兩條重合且方向相反的境界線。
根據(jù)已有的境界線數(shù)據(jù)均為多節(jié)點(diǎn)線段的情況,采用傳統(tǒng)的化簡算法容易造成不同圖層間境界線要素交界處公共點(diǎn)被化簡,從而產(chǎn)生線斷裂的問題,并需要保證化簡后在視覺不可見范圍下不存在細(xì)小彎曲,故境界線化簡應(yīng)遵循以下約束:
1.2.1 應(yīng)用約束:基于節(jié)點(diǎn)的境界線約束分為兩種類型,分別為點(diǎn)要素約束、線要素約束。點(diǎn)要素約束又分為單獨(dú)圖層點(diǎn)要素約束、多圖層點(diǎn)要素約束,如圖1 所示。
1.2.2 視覺約束:在境界線的化簡過程中,視覺約束是一個(gè)關(guān)鍵的約束,其化簡結(jié)果必須符合視覺尺度的要求,圖上沒有可見細(xì)小的彎曲或局部情況。
當(dāng)線要素形狀復(fù)雜、節(jié)點(diǎn)密集、數(shù)據(jù)量較大時(shí),不但要考慮到不同圖層線要素的整體拓?fù)潢P(guān)系,更要確?;喓缶€要素的整體形態(tài)保持不變,避免化簡結(jié)果產(chǎn)生相交、相接或相離的拓?fù)錄_突。
根據(jù)境界線要素?cái)?shù)據(jù)的表達(dá)特點(diǎn),需要對線要素?cái)?shù)據(jù)節(jié)點(diǎn)進(jìn)行分類過濾處理。首先,對于視域范圍內(nèi)各圖層的線要素?cái)?shù)據(jù)定義為矢量線要素類, 并利用子級(jí)圖層線要素的端點(diǎn)對父級(jí)線要素對應(yīng)位置進(jìn)行分割并添加點(diǎn)要素;其次,利用制圖綜合融合方法將重合線要素融合為只存在首尾節(jié)點(diǎn)的線要素、在節(jié)點(diǎn)處分割線生成線要素的節(jié)點(diǎn)、利用要素折點(diǎn)轉(zhuǎn)點(diǎn)提取建模區(qū)域各個(gè)圖層矢量線要素的節(jié)點(diǎn),生成節(jié)點(diǎn)文件并對多圖層節(jié)點(diǎn)文件進(jìn)行合并,并給節(jié)點(diǎn)添加相應(yīng)的關(guān)聯(lián)字段;最后,對節(jié)點(diǎn)文件進(jìn)行分類,過濾不存在約束拓?fù)潢P(guān)系的節(jié)點(diǎn),存在約束關(guān)系的節(jié)點(diǎn)進(jìn)行再分類,分類為各個(gè)圖層的點(diǎn)約束文件。通過運(yùn)行模型生成建模區(qū)域的點(diǎn)分類文件,設(shè)計(jì)的模型如圖2 所示。
對于分類模型生成的各個(gè)圖層節(jié)點(diǎn)要素文件,利用添加字段和計(jì)算字段負(fù)責(zé)給各個(gè)圖層節(jié)點(diǎn)文件添加關(guān)聯(lián)字段約束圖層ID*(Constraint ID)、層級(jí)關(guān)系(父、子圖層Level),通過層級(jí)關(guān)系,將子級(jí)圖層與父級(jí)圖層節(jié)點(diǎn)屬性信息進(jìn)行對比,可得到子級(jí)對父級(jí)圖層不存在約束關(guān)系的節(jié)點(diǎn)信息,采用空間連接方法建立父級(jí)圖層要素類與約束線節(jié)點(diǎn)要素類的屬性連接, 補(bǔ)充約束圖層ID 信息,可通過約束圖層ID 信息區(qū)分節(jié)點(diǎn),屬性表如表1所示,其中,層級(jí)分為A、B、C 三級(jí),約束圖層ID* 分別為C1、C2、C3。
從表中數(shù)據(jù)可以看出,被約束圖層為C1、C2 圖層,約束節(jié)點(diǎn)存在于B、C 圖層。
圖2 節(jié)點(diǎn)分類模型
表1 約束節(jié)點(diǎn)屬性表
經(jīng)典的線化簡算法在某種程度上解決了特征點(diǎn)尖銳、曲線整體形狀保持不佳的問題,但應(yīng)用于境界線要素的化簡仍有欠缺,D-P 算法在處理境界線要素時(shí)化簡效率最高,但在處理閉合線要素時(shí),由于多圖層線組成閉合線要素,化簡后導(dǎo)致閉合線要素中約束節(jié)點(diǎn)被刪除,化簡結(jié)果拓?fù)潢P(guān)系發(fā)生變化;改進(jìn)的L-O 算法在化簡過程中對境界線要素進(jìn)行了光滑處理,很好地保留了線要素極值點(diǎn),使得不同圖層線要素間拓?fù)潢P(guān)系問題明顯減少,但是化簡后約束節(jié)點(diǎn)仍然缺失無法解決由曲線簡化導(dǎo)致的分離和相交問題。本文提出的改進(jìn)算法不僅可以在簡化后保持線元素的整體形狀特征,而且可以精確地保留約束節(jié)點(diǎn)和局部最大值,從而保證曲線的原始形態(tài)在簡化后不發(fā)生明顯變化。通過保留“約束節(jié)點(diǎn)”,保證了在視域內(nèi)境界線化簡前后線線間拓?fù)潢P(guān)系不變。
采用改進(jìn)算法對境界線要素進(jìn)行化簡后與經(jīng)典的D-P 算法、L-O 算法進(jìn)行比較。
可知,經(jīng)典線要素化簡方法在境界線要素化簡后存在斷裂現(xiàn)象,本文采用的化簡方法可有效解決不同圖層間化簡后線要素的斷裂問題。
針對矢量線要素化簡漸進(jìn)式可視化的需求,對當(dāng)前線要素化簡方法境界線拓?fù)潢P(guān)系發(fā)生變化等異常問題進(jìn)行了研究,本文提出一種基于節(jié)點(diǎn)約束的境界線要素化簡方法,設(shè)計(jì)了針對境界線要素的化簡方案,利用節(jié)點(diǎn)分類模型對視域范圍內(nèi)的各圖層線要素的節(jié)點(diǎn)進(jìn)行分類篩選,在節(jié)點(diǎn)約束下,采用融合Douglas-Peucker 和Li-Openshaw改進(jìn)算法對境界線要素進(jìn)行化簡。該方案很好的解決了境界線要素化簡后產(chǎn)生斷裂的問題,并且在境界線拓?fù)潢P(guān)系一致性的條件下,保證化簡前后線狀要素的整體形態(tài)。