趙大清,姚正蘭
(貴州省遵義市氣象局,貴州 遵義 563002)
貴州區(qū)域自動(dòng)氣象站數(shù)據(jù)等值線應(yīng)用系統(tǒng)簡(jiǎn)介
趙大清,姚正蘭
(貴州省遵義市氣象局,貴州 遵義 563002)
該文以繪制貴州省等值線雨量圖為例,著重介紹利用Surfer軟件繪制區(qū)域圖和在底圖上繪制等值線圖的方法,展示用Delphi7.0編程語(yǔ)言調(diào)用Surfer8.0的繪圖函數(shù),實(shí)現(xiàn)Surfer8.0與Delphi7.0之間的API自動(dòng)化接口,從而實(shí)現(xiàn)區(qū)域等值線圖的程序化輸出。
區(qū)域圖;氣象要素;等值線;Delphi;Surfer
結(jié)合氣象信息在社會(huì)發(fā)展中的應(yīng)用和需求,需要對(duì)各個(gè)時(shí)次的數(shù)據(jù)進(jìn)行批量的或任意的處理。氣象信息只有有效、準(zhǔn)確、及時(shí)、直觀的發(fā)布出去,才能更好地應(yīng)用本系統(tǒng)通過(guò)專業(yè)數(shù)據(jù)庫(kù)軟件設(shè)計(jì)程序(Delphi7.0)[1],結(jié)合有 API自動(dòng)化接口的專業(yè)圖形繪制軟件(Surfer8.0)[2]制作出等值線圖形。
Golden Software Surfer(簡(jiǎn)稱Surfer)是一款繪制三維圖和等值線圖的軟件,最大的特色是具有插值功能和填色繪制。用此軟件繪制的區(qū)域等雨量線圖能直接形象地反映出區(qū)域雨量的分布。雖然有很多文獻(xiàn)對(duì)Surfer軟件都進(jìn)行了較為詳盡的介紹,但由于其幫助文件大多是英文版,因此在基層臺(tái)站的應(yīng)用還待進(jìn)一步提高。如何制作區(qū)域底圖,并將區(qū)域自動(dòng)站數(shù)據(jù)疊加在底圖上以及怎樣利用delphi7.0編程語(yǔ)言調(diào)用Surfer8.0的繪圖函數(shù),實(shí)現(xiàn)等值線繪圖的程序化操作,是本文所要解決的主要問題。
貴州省區(qū)域地圖通過(guò)Surfer8.0繪制,區(qū)域自動(dòng)站點(diǎn)的經(jīng)緯度資料取自貴州省氣象信息中心自動(dòng)站數(shù)據(jù)庫(kù)中臺(tái)站信息數(shù)據(jù)表,并作十進(jìn)制計(jì)算以方便在Surfer8.0的繪圖時(shí)使用。本文以調(diào)用貴州省區(qū)域內(nèi)2012年8月1日22時(shí)前24 h降水資料為例,介紹該時(shí)次貴州省區(qū)域自動(dòng)站等值線圖的繪制方法。
首先調(diào)用讀出貴州省邊界經(jīng)緯度資料,生成閉合無(wú)縣界的bln文件guizhoubase.bln,其文件格式如下:
其中,X1、Y1是閉合曲線初始點(diǎn)的經(jīng)緯度數(shù)據(jù),Xn、Yn是閉合曲線終點(diǎn)的經(jīng)緯度數(shù)據(jù)。X是某一點(diǎn)上的緯度數(shù)據(jù),Y是某一點(diǎn)上的經(jīng)度數(shù)據(jù)。Length是底圖曲線中點(diǎn)坐標(biāo)的個(gè)數(shù),當(dāng)flag=1時(shí),底圖區(qū)域內(nèi)的等高線可以消除,當(dāng)flag=0時(shí),可以消除底圖區(qū)域以外的等高線,本例選flag值=0。
同時(shí)單獨(dú)制作出帶市縣界的bln文件guizhou.bln,便于與guizhoubase.bln文件的圖層疊加。
在Surfer8.0中繪制出應(yīng)用程序所需要的bln文件和shp文件,bln文件將數(shù)據(jù)文件作經(jīng)緯度的規(guī)范,使其在規(guī)定范圍內(nèi)、shp文件添加進(jìn)市縣界使區(qū)域更加直觀。在應(yīng)用程序用到這兩個(gè)文件時(shí),就已經(jīng)是默認(rèn)狀態(tài),所以不用考慮自己去制作。
bln文件和shp文件格式都是同樣:
經(jīng)緯度資料從省氣象信息中心自動(dòng)站數(shù)據(jù)庫(kù)的臺(tái)站信息數(shù)據(jù)表取出作核實(shí),制作出詳細(xì)的數(shù)據(jù)文件;在設(shè)計(jì)程序計(jì)算時(shí)需要用到對(duì)應(yīng)的數(shù)據(jù)類型和格式?;驹O(shè)計(jì)如下:
應(yīng)用程序?qū)?shù)據(jù)通過(guò)下面過(guò)程調(diào)用處理,并與基本數(shù)據(jù)結(jié)合生成出新的字符串列表,保存給Surfer8.0 調(diào)用。
通過(guò)過(guò)程調(diào)用后的數(shù)據(jù)文件guizhoudata.txt,其格式如下:
Surfer從7.0版本開始增加了Automation技術(shù),提供了程序化制圖的擴(kuò)展空間。如何利用Delphi7.0編程語(yǔ)言調(diào)用Surfer繪圖函數(shù)自動(dòng)繪制等值線圖呢?這里介紹一個(gè)簡(jiǎn)便的基于Surfer 8.0的Delphi7.0代碼實(shí)現(xiàn)方法。
圖1 加載guizhou.bln文件
在繪制區(qū)域等雨量線圖過(guò)程中,閉合區(qū)域底圖的制作至關(guān)重要,閉合就是要求數(shù)據(jù)要首尾相連,從頭到尾圍成一閉合的圖形。閉合區(qū)域底圖、閉合分縣界底圖和自動(dòng)站站點(diǎn)所采用的經(jīng)緯度數(shù)據(jù)一定要取自同一個(gè)數(shù)據(jù)源,兩圖的制作方法有所不同,所起的作用也是完全不同的。
圖3 通過(guò)美化后的最終出圖
利用Delphi7.0編程語(yǔ)言調(diào)用Surfer函數(shù)聯(lián)合編程,實(shí)現(xiàn)了雨量圖的自動(dòng)顯示和輸出,操作簡(jiǎn)捷,如連接自動(dòng)雨量站網(wǎng)數(shù)據(jù)庫(kù)實(shí)現(xiàn)ADO連接數(shù)據(jù)庫(kù)自動(dòng)采集,則可達(dá)到實(shí)時(shí)繪制雨量圖的效果。
[1]Surfer 8.0 初學(xué)者手冊(cè)[M]. 原創(chuàng) Addison,2003,(5)21.
[2]Delphi7.0程序設(shè)計(jì)基礎(chǔ)教程與上機(jī)指導(dǎo)[M].北京:清華大學(xué)出版社,2002.
TP311.52
B
1003-6598(2012)05-0044-03
2011-09-07
趙大清(1982—),男,助工,主要從事計(jì)算機(jī)網(wǎng)絡(luò)管理和雷達(dá)應(yīng)用等工作。
貴州省科學(xué)技術(shù)廳項(xiàng)目“貴州省交通安全氣象風(fēng)險(xiǎn)區(qū)劃及應(yīng)用平臺(tái)研究-以遵義為示范點(diǎn)”(黔科合SY字[2012]3054號(hào))。