鄭志利
(新疆哈密地區水利水電勘測設計院,新疆哈密839000)
等值線圖是水利工作者常用的水利要素圖形顯示方法,它能較直觀地顯示出水利要素的分布情況,便于分析和判斷,在水利工作及服務領域中,大量數據及產品需繪制成等值線圖以供分析使用,因此及時、高效地繪制出等值線圖是業務工作及業務系統開發中急需解決的問題[1-3]。地下水埋深等值線圖是水利決策服務中常用的圖表,它能較直觀地給出區域地下水埋深的分布情況,讓領導或決策者一目了然,及時準確了解地下水埋深情況。在決策服務時需提供不同區域地下水埋深等值線圖,手工繪制,既費時,又不美觀。而借助成熟的SURFER繪圖軟件能較快地制作出既美觀又直觀的不同區域的地下水埋深等值線圖,能直接形象地反映出區域地下水的分布。本文主要介紹如何制作區域地下水埋深等值線圖以及怎樣利用VB編程語言調用Surfer7.0的繪圖函數,實現程序化操作[4,5]。
Surfer軟件是Golden Software公司研制的基于 Windows系列操作系統的插值繪圖軟件,是一個十分流行的小型軟件[6,7]。該軟件可處理離散點資料、格點資料,可以繪制等值線圖、三維立體圖等,也可添加研究區域的部分地理信息,在資料點上顯示標注等;提供了傳統的Windows界面,操作簡單,同時它還可通過VB等編程語言將其強大的功能嵌入到用戶開發的系統中[8-12]。
Surfer軟件最主要的功能是繪制等值線圖,但并不是我們具有了數據文件就可以直接繪制等值線,Surfer軟件要求繪制等值線的數據有特殊的格式要求,即首先要將數據文件轉換成Surfer軟件認識的grd文件格式,才能繪制等值線。能夠轉換成grd文件格式的離散點數據的格式一般為文本格式,它包含的數據項有資料點的位置坐標(如經緯度或者高斯坐標)及屬性項(如地下水埋深、地下水礦化度)。其中屬性項可以有多項,但資料點的位置坐標是唯一的。具體的數據格式如下:
114.58,29.03,16.5
114.38,28.53,15.8
其中第一列為經度,第二列為緯度,第三列為要素值。
Surfer軟件的Grid功能完成離散點數據格式轉換成grd文件格式,在轉換時可選擇一種插值方法,Surfer軟件提供了許多數學插值模型,如距離倒數加權法、最小曲率法、三角網線性插值法、克立格法、多元回歸法等。利用這些數學模型,可以很方便地進行插值計算。其中較為精確的插值方法是克立格法。克立格(Kriging)插值法與經典插值算法相比,具有算法靈活、可獲得估計方差等優點,在水利要素分析、環境監測等領域廣泛應用。
將離散點資料處理成格點資料以后,利用Surfer軟件的Contour功能便可進行等值線圖的繪制。系統可自動設置等值線的間隔并繪制等值線圖,用戶也可以根據自己的需要設計等值線間隔,決定是否填充等值線等。
Surfer軟件兼容部分地理信息軟件的數據格式,如Arcview等,并可與地理信息系統相結合,從而把部分地理信息疊加到等值線圖上,使等值線圖更加美觀。用Surfer軟件的overlay功能可以將同一坐標的多個圖形進行合并,從而達到等值線圖與底圖合并的目的。
Surfer軟件提供了一系列的開發控件,可方便用戶將其許多強大的圖形功能嵌入到自己開發的業務系統中,以完善業務系統的圖形功能。
以VB作為開發工具,首先必須在其環境中引用與Surfer軟件有關的庫,使VB能夠調控 Surfer軟件及其下屬對象。在VB的集成開發環境中,通過“工程”菜單中的“引用”命令,將所要用的庫選中,并且可以在VB的對象瀏覽器中查看對象庫、類、屬性、方法以及事件。引用Surfer軟件的Application對象,才能在客戶程序中與Surfer軟件服務器通訊。輸入引用Application對象的代碼,就完成了對Surfer軟件的Application對象的引用,其它層次的對象就可以通過這個根對象來間接逐層引用,從而實現了與Surfer軟件服務器的通訊。通過Grid Data插值函數將離散的觀測點資料插值成格網數據文件,然后調用Surfer軟件的添加等值線圖層功能,導人生成的網格數據文件,就在繪圖窗口生成了等值線圖。繪制過程在Surfer軟件后臺程序中進行,最后將繪制結果顯示在客戶應用程序界面中。
熟悉掌握Surfer軟件的基本功能后,繪制區域地下水埋深等值線圖就非常簡單,剩下的工作難點就是地下水埋深資料的讀取,并生成離散點文本數據格式。在水利工作中,通常將區域各地下水位觀測點的資料(經緯度或者高斯坐標、地下水埋深)生成離散點文本數據格式,通過編程簡單實現。
在surfer軟件中可疊加為背景地圖的格式有bln、gsb、jpg、gif等多種形式,比較常用的是bin文件。bln文件格式為:
Length,flag
x1,yl
x2,y2
…,…
xn,yn
其中,length是背景地圖曲線中點坐標的個數,flag的值為1或0,當flag=l時,閉合曲線里面的等高線可以用此bln文件blank掉(即將閉合曲線中的等高線消除,也稱之為白化),如 flag=O,則是曲線外面的等高線被 blank,xl…xn,yl…yn為點坐標值(經緯度或者高斯坐標)。區域背景地圖的bln文件也可由Micaps系統提供的地形圖文件轉換生成。
在Surfer軟件中分別用Grid功能和basemap功能打開區域地下水埋深數據文件和區域背景地圖文件,即可繪制出地下水埋深等值線圖。注意:背景地圖坐標必須與地下水埋深等值線圖的坐標一致,至少背景地圖坐標要包含地下水埋深等值線圖坐標,并將背景圖移到前面一層。
我們需要在地下水埋深等值線圖中添加水位觀測站點的信息(如站點名稱、地下水位),并用三角,五星等符號標出位置,在旁邊寫上站點信息,這可以用postmap和classified post map完成。
(1)繪制區域地下水埋深等值線圖前,必須做好前期基礎工作。如生成區域底圖文件、站點坐標文件和區域觀測井地下水位數據文件等。
(2)在繪制區域地下水埋深等值線圖過程中,閉合區域底圖的制作至關重要,閉合就是要求數據要首尾相連,從頭到尾圍成一閉合的圖形。
(3)閉合區域底圖和觀測井位置所采用的經緯度數據(或者高斯坐標)一定要取自同一個數據源(如取自micaps 1.0或2.0地理信息文件),兩圖的制作方法有所不同,所起的作用也是完全不同的。
(4)利用VB編程語言調用Surfer函數聯合編程,實現了地下水埋深等值線圖的自動顯示和輸出,操作簡捷,如連接地下水位自動觀測站網數據庫實現ADO連接數據庫自動采集,則可達到實時繪制地下水埋深等值線圖的效果。
通過實際運行表明,VB與Surfer軟件結合繪制地下水埋深等值線,方法簡捷,圖形優美,線條光滑,具有非常強的實用性。目前在許多業務系統中都涉及到如何生成水利要素等值線的問題。Surfer軟件使用比較簡單,在很短的時間內便能掌握其基本功能,借助Surfer軟件可以較快地制作出一些水利要素(降雨量、地下水埋深、地下水礦化度等)的等值線圖,輕松實現水利業務系統的等值線圖顯示。
[1]孫中任,趙東亮.利用Surfer實現剖面平面圖繪制[J].物探與化探.2006,30(2):172 -174.
[2]馬培仙,李百祥,陳衛東.利用 Surfer繪圖軟件繪制平剖圖及平剖圖數字化[J].甘肅地質.2006,15(1):92 -95.
[3]趙宇,王志新.Surfer軟件借助AutoCAD實現計算機繪制煤層頂底板等高線圖[J].煤炭技術.2005,24(4):101 -102.
[4]張愛印,任印國.Golden Surfer軟件繪制地質圖件的技巧[J].中國煤田地質.2006,18:87 -89.
[5]任印國,魏永強.使用Surfer軟件繪制地質圖件和處理地質數據的方法[J].測繪技術裝備.2006,8(1):34-36.
[6]王建,白世彪,陳曄.Surfer8地理信息制圖[M].北京:中國地圖出版社.2004.
[7]白世彪,陳曄,王建.等值線繪圖軟件Surfer7.0中九種插值法介紹[J].物探化探計算技術.2002,24(2):157-162.
[8]陳歡歡,李星,丁文秀.Surfer 8.0等值線繪制中的十二種插值方法[J].工程地球物理學報.2007,4(1):52-57.
[9]于平,李漢彬,高長君.應用ActiveX技術實現Surfer自動繪制等值線圖[J].廣東氣象.2006,28(3):61-63.
[10]曾志雄,陳慧嫻.如何使用 Surfer8.0畫等值線圖[J].廣東氣象.2006,28(3):64 -66.
[11]許捍衛,程亮.利用AUTOCAD與Surfer軟件相結合繪制等高線[J].北京測繪.2002,(2):22 -25.
[12]李紹榮.Surfer軟件圖形數據的進一步處理和利用[J].物探化探計算技術.1997,19(2):174 -180.