于 蕾, 王 歡, 岳 耀, 許連華
(中國人民解放軍61175部隊, 山東 淄博 255000)
隨著社會經(jīng)濟的發(fā)展,人們對地理信息的需求日益強烈, 數(shù)字制圖技術在城市規(guī)劃、國土管理、測繪業(yè)務管理、辦公自動化等許多領域中發(fā)揮著越來越重要的作用.利用數(shù)字制圖技術編制地圖已經(jīng)成為地圖快速更新、出版的關鍵技術[1].數(shù)字制圖中河流漸變的實現(xiàn)是快速處理空間矢量數(shù)據(jù)、縮短成圖周期的難點和重點.河流是普通地圖中重要的表示內容之一,由于地圖比例尺的關系,河流分為單線河和雙線河兩類,一般規(guī)定圖上河寬小于0.4mm的采用半依比例尺符號表示成單線河流,大于該指標的采用依比例尺符號表示成雙線河流,單線河流與雙線河流之間的銜接要過渡自然.在數(shù)字制圖中,我們常采用河流粗度漸變的方法表示單線河,使河流自源頭起線寬由細到粗依次變化,從而正確地反應出單線河的流向及形狀,并區(qū)分主支流[2].
在河流漸變過程中,河流的表示需要滿足以下幾方面的要求[3]:
1)從源頭按照流向方向表示時,河流要由細到粗依次表示,一般不能出現(xiàn)由粗到細的變化,而且線粗的變化要平滑,不能出現(xiàn)粗度的突變.
2)源頭在圖幅內的河流起始點的線粗應為最小尺寸0.08mm,源頭不在圖幅內的河流起點線粗要適當?shù)脑龃?,不能為最小尺?
3)河流粗細的變化程度要根據(jù)河流的長度及等級確定,一般來說,較長的、等級較高的河流,在河流漸變過程中,線粗的變化要比較短的、等級較低的河流大.
4)在主支流交匯處,支流的線粗不能大于此處的主流線粗.
5)河流線粗變化的緩急程度要符合科學美觀的要求.
數(shù)字制圖中,單線河通常采用半依比例尺的線狀符號表示,因此可以通過制作由細逐漸變粗的特殊線型來表示河流的漸變[4].在實際的數(shù)字地圖生產(chǎn)中,有很多軟件可以實現(xiàn)線型的構建.MicroStation V8在很多方面具有獨特的強大功能,其繪圖中每個要素都有如顏色、線型、線寬、層信息等屬性,并可以對直線、折線、曲線、封閉線、符號和注記進行各種設計與修改[5].以MicroStation V8軟件為作業(yè)平臺,可以輕松實現(xiàn)漸變線型的制作,供以該平臺為數(shù)字地圖生產(chǎn)作業(yè)工具的用戶進行調用.漸變線型的制作界面如圖1所示.在該界面中創(chuàng)建漸變河流線型,將反復項的計數(shù)值設置為1,短劃線的長度設置為變量,長度值為10mm,然后根據(jù)需要設置線型的起點寬度和終點寬度,并保存即可.這種方法可以很好地表示單線河流的漸變情況,準確反映出河流的形狀及流向.它的不足之處主要表現(xiàn)在:(1)由于漸變線型是一條逐漸變粗的線,不能控制其變粗的速度和變粗的位置,因此在主支流交匯處,很難保證支流的線粗比主流細;(2)用該方法表示源頭不在圖幅內的河流時,其起點處的線粗無法實現(xiàn)適當?shù)脑龃螅匀粸樽钚〕叽?
圖1 漸變線型的制作界面
河流分段是指將一條完整的河流按照一定的規(guī)律分割成若干段,然后將分割后的各段河流的粗度進行修改,使之呈現(xiàn)由起點到終點粗度依次遞增的效果,從而表示河流的漸變[6].采用這種方法表示河流漸變簡單可行,具有較高的可操作性,同時能夠較好地反映河流的流向、形狀,主支流表示清晰.同時,還可以通過控制河流起點線粗來準確表示源頭不在圖幅內的河流.這種表示方法的缺點也是顯而易見的,主要是在各段河流的交點處由于線粗不一致,容易造成河流粗度的突變.
緩沖區(qū)是空間分析中常用的一種方法,它是根據(jù)地圖中點、線、面等地理實體自動建立其周圍一定寬度范圍的多邊形[7].緩沖區(qū)的寬度不一定是相同的,可以根據(jù)需要設置不同的緩沖區(qū)寬度,以形成寬度逐漸變化的緩沖區(qū)[8].
采用河流緩沖區(qū)的方式表示河流漸變,就是以河流的中心線為中心,根據(jù)需要建立寬度漸變的多邊形來表示河流.因為單線河的最大寬度為0.4mm,所以河流緩沖區(qū)的最大寬度不能大于該值,否則就要使用雙線河來表示.單線河流緩沖區(qū)表示法如圖2所示.河流緩沖區(qū)表示法本質上是使用面狀的多邊形來表示線狀的河流.采用河流緩沖區(qū)來表示河流漸變,保證了單條河流的完整性,漸變效果也比較好,不足之處在于緩沖區(qū)建立復雜,編輯修改困難,工作量大,一般的制圖系統(tǒng)較難實現(xiàn).
圖2 單線河流緩沖區(qū)表示法
以上三種河流漸變表示方法各有優(yōu)缺點,考慮到實際地圖制圖的作業(yè)效率和漸變效果等因素,目前采用較多的是漸變線型和河流分段相結合的表示方法.具體實現(xiàn)方法如下:
1)首先制作12個不同等級的漸變河流線型,如表1所示,它們的線寬依次從0.08mm逐漸變粗至0.4mm,用來表示分段后每段河流.
表1 漸變河流分級表
2)利用Visual C++進行MDL二次開發(fā),實現(xiàn)河流的分段表示.MDL 是MicroStation 開發(fā)語言庫,它是一種基于C/C++的開發(fā)語言,用于開發(fā)專業(yè)級的MicroStation應用程序,分PureMDL和NativeCode兩種開發(fā)方式.同樣長度的河流,分段的數(shù)量越多,則每段河流長度越短,漸變效果越明顯.一般河流最少分三段,然后根據(jù)河流長度以及等級適當?shù)卦黾雍恿鞯姆侄螖?shù)量.圖3為利用MDL開發(fā)的河流分段表示界面.
3)河流分段以后,每段采用不同等級的漸變河流線型表示,相鄰兩段河流采用的河流等級不可能產(chǎn)生跨越,以免造成線段粗度的突變,主支流交匯處的支流線型等級不能高于主流,從而正確區(qū)分主支流關系[9].圖4所示為河流漸變效果,由圖4可知,該方法能夠很好地滿足河流漸變的要求,較好地反映河流實際情況,簡單易行,且提高了作業(yè)效率.
圖3 河流的分段表示界面
圖4 河流漸變效果
本文對實現(xiàn)河流漸變的幾種方法進行了比較與分析,充分考慮了實際生產(chǎn)中可能會出現(xiàn)的各種問題,通過Visual C對Microstation V8進行二次開發(fā),編程實現(xiàn)了河流分段表示河流漸變.該方法整合了漸變線型和河流分段的優(yōu)點,彌補了各自的不足,并在相關單位的生產(chǎn)應用中取得了良好的效果,確保了地圖生產(chǎn)過程中水系編繪的質量和美觀,提高了工作效率.
[1] 楊夢梅,王輝. 利用基礎地理信息數(shù)據(jù)編制公開版地圖的關鍵技術探討[J]. 測繪技術裝備, 2008(2):4-5.
[2]王家耀,孫群. 地圖學原理與方法[M]. 北京:科學出版社, 2006.
[3]王光霞. 地圖設計與編繪[M]. 北京: 測繪出版社, 2011.
[4] 周元.地圖與地圖制圖[M].武漢:武漢大學出版社,2011.
[5]許斌,宋宏偉,于燕青,等. 基于Microstation的數(shù)字測圖軟件及使用[M]. 北京:解放軍出版社, 2001.
[6]蔡林,李學義. 應用數(shù)字測圖中的幾點體會[J]. 黑龍江水利科技, 2005(1):23-23.
[7]彭李,何貞銘,劉少華,等. 一種有效的線狀緩沖區(qū)生成算法[J].測繪與空間地理信息, 2008(5):11-13.
[8]崔爽,蘇鴻,葉良松,等.一種基于空間對象的緩沖區(qū)分析算法[J].地理與地理信息科學,2011(1):6-7.
[9]祝國瑞.地圖學[M].武漢:武漢大學出版社, 2004.