于 蕾, 王 歡, 岳 耀, 許連華
(中國人民解放軍61175部隊, 山東 淄博 255000)
隨著社會經濟的發展,人們對地理信息的需求日益強烈, 數字制圖技術在城市規劃、國土管理、測繪業務管理、辦公自動化等許多領域中發揮著越來越重要的作用.利用數字制圖技術編制地圖已經成為地圖快速更新、出版的關鍵技術[1].數字制圖中河流漸變的實現是快速處理空間矢量數據、縮短成圖周期的難點和重點.河流是普通地圖中重要的表示內容之一,由于地圖比例尺的關系,河流分為單線河和雙線河兩類,一般規定圖上河寬小于0.4mm的采用半依比例尺符號表示成單線河流,大于該指標的采用依比例尺符號表示成雙線河流,單線河流與雙線河流之間的銜接要過渡自然.在數字制圖中,我們常采用河流粗度漸變的方法表示單線河,使河流自源頭起線寬由細到粗依次變化,從而正確地反應出單線河的流向及形狀,并區分主支流[2].
在河流漸變過程中,河流的表示需要滿足以下幾方面的要求[3]:
1)從源頭按照流向方向表示時,河流要由細到粗依次表示,一般不能出現由粗到細的變化,而且線粗的變化要平滑,不能出現粗度的突變.
2)源頭在圖幅內的河流起始點的線粗應為最小尺寸0.08mm,源頭不在圖幅內的河流起點線粗要適當的增大,不能為最小尺寸.
3)河流粗細的變化程度要根據河流的長度及等級確定,一般來說,較長的、等級較高的河流,在河流漸變過程中,線粗的變化要比較短的、等級較低的河流大.
4)在主支流交匯處,支流的線粗不能大于此處的主流線粗.
5)河流線粗變化的緩急程度要符合科學美觀的要求.
數字制圖中,單線河通常采用半依比例尺的線狀符號表示,因此可以通過制作由細逐漸變粗的特殊線型來表示河流的漸變[4].在實際的數字地圖生產中,有很多軟件可以實現線型的構建.MicroStation V8在很多方面具有獨特的強大功能,其繪圖中每個要素都有如顏色、線型、線寬、層信息等屬性,并可以對直線、折線、曲線、封閉線、符號和注記進行各種設計與修改[5].以MicroStation V8軟件為作業平臺,可以輕松實現漸變線型的制作,供以該平臺為數字地圖生產作業工具的用戶進行調用.漸變線型的制作界面如圖1所示.在該界面中創建漸變河流線型,將反復項的計數值設置為1,短劃線的長度設置為變量,長度值為10mm,然后根據需要設置線型的起點寬度和終點寬度,并保存即可.這種方法可以很好地表示單線河流的漸變情況,準確反映出河流的形狀及流向.它的不足之處主要表現在:(1)由于漸變線型是一條逐漸變粗的線,不能控制其變粗的速度和變粗的位置,因此在主支流交匯處,很難保證支流的線粗比主流細;(2)用該方法表示源頭不在圖幅內的河流時,其起點處的線粗無法實現適當的增大,仍然為最小尺寸.

圖1 漸變線型的制作界面
河流分段是指將一條完整的河流按照一定的規律分割成若干段,然后將分割后的各段河流的粗度進行修改,使之呈現由起點到終點粗度依次遞增的效果,從而表示河流的漸變[6].采用這種方法表示河流漸變簡單可行,具有較高的可操作性,同時能夠較好地反映河流的流向、形狀,主支流表示清晰.同時,還可以通過控制河流起點線粗來準確表示源頭不在圖幅內的河流.這種表示方法的缺點也是顯而易見的,主要是在各段河流的交點處由于線粗不一致,容易造成河流粗度的突變.
緩沖區是空間分析中常用的一種方法,它是根據地圖中點、線、面等地理實體自動建立其周圍一定寬度范圍的多邊形[7].緩沖區的寬度不一定是相同的,可以根據需要設置不同的緩沖區寬度,以形成寬度逐漸變化的緩沖區[8].
采用河流緩沖區的方式表示河流漸變,就是以河流的中心線為中心,根據需要建立寬度漸變的多邊形來表示河流.因為單線河的最大寬度為0.4mm,所以河流緩沖區的最大寬度不能大于該值,否則就要使用雙線河來表示.單線河流緩沖區表示法如圖2所示.河流緩沖區表示法本質上是使用面狀的多邊形來表示線狀的河流.采用河流緩沖區來表示河流漸變,保證了單條河流的完整性,漸變效果也比較好,不足之處在于緩沖區建立復雜,編輯修改困難,工作量大,一般的制圖系統較難實現.

圖2 單線河流緩沖區表示法
以上三種河流漸變表示方法各有優缺點,考慮到實際地圖制圖的作業效率和漸變效果等因素,目前采用較多的是漸變線型和河流分段相結合的表示方法.具體實現方法如下:
1)首先制作12個不同等級的漸變河流線型,如表1所示,它們的線寬依次從0.08mm逐漸變粗至0.4mm,用來表示分段后每段河流.

表1 漸變河流分級表
2)利用Visual C++進行MDL二次開發,實現河流的分段表示.MDL 是MicroStation 開發語言庫,它是一種基于C/C++的開發語言,用于開發專業級的MicroStation應用程序,分PureMDL和NativeCode兩種開發方式.同樣長度的河流,分段的數量越多,則每段河流長度越短,漸變效果越明顯.一般河流最少分三段,然后根據河流長度以及等級適當地增加河流的分段數量.圖3為利用MDL開發的河流分段表示界面.
3)河流分段以后,每段采用不同等級的漸變河流線型表示,相鄰兩段河流采用的河流等級不可能產生跨越,以免造成線段粗度的突變,主支流交匯處的支流線型等級不能高于主流,從而正確區分主支流關系[9].圖4所示為河流漸變效果,由圖4可知,該方法能夠很好地滿足河流漸變的要求,較好地反映河流實際情況,簡單易行,且提高了作業效率.

圖3 河流的分段表示界面

圖4 河流漸變效果
本文對實現河流漸變的幾種方法進行了比較與分析,充分考慮了實際生產中可能會出現的各種問題,通過Visual C對Microstation V8進行二次開發,編程實現了河流分段表示河流漸變.該方法整合了漸變線型和河流分段的優點,彌補了各自的不足,并在相關單位的生產應用中取得了良好的效果,確保了地圖生產過程中水系編繪的質量和美觀,提高了工作效率.
[1] 楊夢梅,王輝. 利用基礎地理信息數據編制公開版地圖的關鍵技術探討[J]. 測繪技術裝備, 2008(2):4-5.
[2]王家耀,孫群. 地圖學原理與方法[M]. 北京:科學出版社, 2006.
[3]王光霞. 地圖設計與編繪[M]. 北京: 測繪出版社, 2011.
[4] 周元.地圖與地圖制圖[M].武漢:武漢大學出版社,2011.
[5]許斌,宋宏偉,于燕青,等. 基于Microstation的數字測圖軟件及使用[M]. 北京:解放軍出版社, 2001.
[6]蔡林,李學義. 應用數字測圖中的幾點體會[J]. 黑龍江水利科技, 2005(1):23-23.
[7]彭李,何貞銘,劉少華,等. 一種有效的線狀緩沖區生成算法[J].測繪與空間地理信息, 2008(5):11-13.
[8]崔爽,蘇鴻,葉良松,等.一種基于空間對象的緩沖區分析算法[J].地理與地理信息科學,2011(1):6-7.
[9]祝國瑞.地圖學[M].武漢:武漢大學出版社, 2004.