程 林,苗 蕓,周秀美
(云南省紅河自治州氣象局,云南 蒙自 661199)
隨著經濟社會的快速發展,氣象服務在國民經濟中的地位和作用日益凸顯。小到衣食住行,大到國防科技,氣象服務都起著不可或缺的保障作用,因此提高氣象服務質量,是社會發展的客觀需求。
目前,多數氣象服務產品都需要通過在一定地域平面內,利用氣象要素數據繪制等值線來表現該地域的氣象形勢。而等值線的繪制僅靠人工來完成,不但工作量大,而且效果也不佳,當遇到大量且復雜的數據時,人工繪制幾乎無從下手。因此,該類產品的制作不得不借助外界工具。
長期以來,筆者通過直接使用Surfer 繪圖和在編程調用Surfer 繪圖之間摸索學習與研究,現已能靈活控制各個繪圖環節,精準地繪制各類等值線服務產品。為我州氣象服務事業提供了重要支撐。
C#(C Sharp)是微軟(Microsoft)為.NET Framework 量身訂做的程序語言,是微軟公司在2000年6月發布的一種面向對象編程語言。C#擁有C/C ++的強大功能以及Visual Basic 簡易使用的特性,是第一個組件導向(Component-oriented)的程序語言,和C++與Java 一樣亦為對象導向(object-oriented)程序語言,與Java 有著驚人的相似;它包括了諸如單一繼承、界面、與java 幾乎同樣的語法,和編譯成中間代碼再運行的過程。但是C#與Java 有著明顯的不同,它借鑒了Delphi的一個特點,與COM(組建對象模型)是直接集成的,而且它是微軟公司.NET windows 網絡框架的主角。
Surfer 是由美國Golden Software 公司編制的一款三維繪圖軟件,具有強大的插值功能和繪制圖件能力,可以輕松制作等值線圖、基面圖、矢量圖以及三維表面圖等。該軟件通過數據網格化將離散的(X,Y,Z)數據轉化為分布均勻的網格數據,通常是不規則分布的原始數據點,經過數學處理,構成一個規則的空間矩形網格,并以多種形式的圖形表達出來。原始數據的不規則分布,造成數據缺失“空洞”,網格化則利用外推或內插的計算方法填充了這些“空洞”。
Surfer 提供了完整的COM 組件功能供外部程序調用,其組件名稱為“Surfer 8 Type Library”。常用的Surfer 對象如下:Application、Aexe、BaseMap、ContourMap、Document、Grid、ImageMap、Levels、Map-Frame、Overlays、PlotDocument、Selection、Shape、Shapes、Windows 等。其中Application 對象代表Surfer 應用程序實例,是其他對象的根。Document、Shape 都是基類對象。



目前,我州已將通過C#調用Surfer 繪制出來的等值線產品應用到了地質災害預報預警和電力氣象服務中。為防災減災及電力行業的正常運行提供了極大的支持。圖1 為地質災害預報預警產品,圖2 為電力氣象服務產品。

圖1 泥石流等級預報圖

圖2 紅河州日最高氣溫實況圖
通過C#調用Surfer 繪制等值線圖,不僅解決了數據量大繪圖難問題,而且大大提高了繪圖的效率,給氣象工作人員節省了寶貴的時間,更重要的是通過該方式繪制出來的等值線圖美觀實用,大大提高了氣象產品的可視化程度,為地方領導及相關部門提供了直觀、準確的氣象信息,提高了氣象服務水平。
[1]齊立波.C#入門經典(第四版)[M].北京:清華大學出版社,2008.
[2]吳延霞.Surfer 軟件嵌入VB 編程在激光平地系統中的應用[J].德州學院學報,2008-12.