欒磊洋 符季穎
(北京建筑大學測繪與城市空間信息學院,北京102616)
線化簡是有選擇性地去掉曲線上的點,并對其它點進行合理位移,在化簡點要素的條件下很好地保持線要素的形態,最終實現要素在客戶端高效的多尺度漸進式可視化。基于頂點的線要素化簡方法算法效率較高,但該方法以節點數量簡化為主,整體形狀保持較差,并且僅考慮單獨線要素節點,少有顧及不同圖層間線要素化簡后拓撲空間關系,因此,本文提出一種基于節點約束的境界線要素化簡方法,在境界線要素為多節點線段的情況下,利用節點分類模型提取存在約束關系的節點,將得到的約束節點集合與境界線要素生成的點集合進行比對,在化簡過程中保留存在約束的節點,從而在避免拓撲沖突的情況下實現線要素的化簡。
境界線數據形態表達有以下特征:
1.1.1 國界線與省界線、省界線與市界線不存在重疊關系。
1.1.2 省界、市界間重疊部分均有兩條重合且方向相反的境界線。
根據已有的境界線數據均為多節點線段的情況,采用傳統的化簡算法容易造成不同圖層間境界線要素交界處公共點被化簡,從而產生線斷裂的問題,并需要保證化簡后在視覺不可見范圍下不存在細小彎曲,故境界線化簡應遵循以下約束:
1.2.1 應用約束:基于節點的境界線約束分為兩種類型,分別為點要素約束、線要素約束。點要素約束又分為單獨圖層點要素約束、多圖層點要素約束,如圖1 所示。
1.2.2 視覺約束:在境界線的化簡過程中,視覺約束是一個關鍵的約束,其化簡結果必須符合視覺尺度的要求,圖上沒有可見細小的彎曲或局部情況。
當線要素形狀復雜、節點密集、數據量較大時,不但要考慮到不同圖層線要素的整體拓撲關系,更要確保化簡后線要素的整體形態保持不變,避免化簡結果產生相交、相接或相離的拓撲沖突。
根據境界線要素數據的表達特點,需要對線要素數據節點進行分類過濾處理。首先,對于視域范圍內各圖層的線要素數據定義為矢量線要素類, 并利用子級圖層線要素的端點對父級線要素對應位置進行分割并添加點要素;其次,利用制圖綜合融合方法將重合線要素融合為只存在首尾節點的線要素、在節點處分割線生成線要素的節點、利用要素折點轉點提取建模區域各個圖層矢量線要素的節點,生成節點文件并對多圖層節點文件進行合并,并給節點添加相應的關聯字段;最后,對節點文件進行分類,過濾不存在約束拓撲關系的節點,存在約束關系的節點進行再分類,分類為各個圖層的點約束文件。通過運行模型生成建模區域的點分類文件,設計的模型如圖2 所示。
對于分類模型生成的各個圖層節點要素文件,利用添加字段和計算字段負責給各個圖層節點文件添加關聯字段約束圖層ID*(Constraint ID)、層級關系(父、子圖層Level),通過層級關系,將子級圖層與父級圖層節點屬性信息進行對比,可得到子級對父級圖層不存在約束關系的節點信息,采用空間連接方法建立父級圖層要素類與約束線節點要素類的屬性連接, 補充約束圖層ID 信息,可通過約束圖層ID 信息區分節點,屬性表如表1所示,其中,層級分為A、B、C 三級,約束圖層ID* 分別為C1、C2、C3。
從表中數據可以看出,被約束圖層為C1、C2 圖層,約束節點存在于B、C 圖層。

圖2 節點分類模型

表1 約束節點屬性表
經典的線化簡算法在某種程度上解決了特征點尖銳、曲線整體形狀保持不佳的問題,但應用于境界線要素的化簡仍有欠缺,D-P 算法在處理境界線要素時化簡效率最高,但在處理閉合線要素時,由于多圖層線組成閉合線要素,化簡后導致閉合線要素中約束節點被刪除,化簡結果拓撲關系發生變化;改進的L-O 算法在化簡過程中對境界線要素進行了光滑處理,很好地保留了線要素極值點,使得不同圖層線要素間拓撲關系問題明顯減少,但是化簡后約束節點仍然缺失無法解決由曲線簡化導致的分離和相交問題。本文提出的改進算法不僅可以在簡化后保持線元素的整體形狀特征,而且可以精確地保留約束節點和局部最大值,從而保證曲線的原始形態在簡化后不發生明顯變化。通過保留“約束節點”,保證了在視域內境界線化簡前后線線間拓撲關系不變。
采用改進算法對境界線要素進行化簡后與經典的D-P 算法、L-O 算法進行比較。
可知,經典線要素化簡方法在境界線要素化簡后存在斷裂現象,本文采用的化簡方法可有效解決不同圖層間化簡后線要素的斷裂問題。
針對矢量線要素化簡漸進式可視化的需求,對當前線要素化簡方法境界線拓撲關系發生變化等異常問題進行了研究,本文提出一種基于節點約束的境界線要素化簡方法,設計了針對境界線要素的化簡方案,利用節點分類模型對視域范圍內的各圖層線要素的節點進行分類篩選,在節點約束下,采用融合Douglas-Peucker 和Li-Openshaw改進算法對境界線要素進行化簡。該方案很好的解決了境界線要素化簡后產生斷裂的問題,并且在境界線拓撲關系一致性的條件下,保證化簡前后線狀要素的整體形態。