陳洪飛,許世誠,呂 斌,余元良
(1.浙江省水利河口研究院,浙江 杭州 310020;2.開化縣水利局,浙江 開化 324300)
?
SURFER軟件在雨量等值線圖繪制中的應(yīng)用研究
陳洪飛1,許世誠1,呂斌1,余元良2
(1.浙江省水利河口研究院,浙江杭州310020;2.開化縣水利局,浙江開化324300)
應(yīng)用ArcGIS及SURFER軟件對雨量等值線圖自動繪制軟件進(jìn)行了研究。采用C#作為工具,進(jìn)一步開發(fā)了雨量等值線面繪制軟件。該軟件繪制出的等值線以及等值面具有良好的可視化效果,能直觀反應(yīng)浙江省一段時間內(nèi)的降雨量地理分布情況,對防汛防洪山洪預(yù)警工作有一定的指導(dǎo)意義。
SURFER;ArcGIS;雨量等值線;防汛防洪
雨量等值線表示某一給定時間內(nèi)(如年、季、月)的雨量相等各點(diǎn)的連線,可以直觀顯示雨量的地理分布狀況[1]。它是反映雨量時空分布的最重要工具,通過等值線圖可以直觀地了解區(qū)域內(nèi)一段時間的降雨情況并以此對該區(qū)域未來降雨情況進(jìn)行預(yù)測,目前已廣泛應(yīng)用于防洪、防汛、山洪預(yù)警中。然而,由于雨量數(shù)據(jù)的時效性,雨量等值線圖需要動態(tài)繪制,傳統(tǒng)的手工繪制方法出圖慢、精度低的問題漸漸體現(xiàn)出來,通過計算機(jī)自動繪制雨量等值線圖成為未來應(yīng)用的趨勢。
基于SURFER軟件對等值線圖進(jìn)行自動繪制,使用者可以選取任意時間段進(jìn)行等值線圖的繪制,該方法出圖速度快、精度高,且可以與影像地形圖疊加,從而更方便了解雨量的區(qū)域分布。
SURFER是目前國內(nèi)外使用較為廣泛的等值線繪制軟件之一,它支持多種數(shù)據(jù)格式,功能強(qiáng)大,成果美觀[2]。SURFER軟件具有強(qiáng)大的插值功能以及繪制能力,是制作三維圖等的優(yōu)秀工具。SURFER軟件強(qiáng)大的插值功能使其能適應(yīng)各種等值線繪制需求,優(yōu)秀的繪圖能力使其繪圖速度快、效率高,生成的等值線圖質(zhì)量高,因此采用SURFER軟件進(jìn)行等值線的處理繪制。而ArcGIS則以其強(qiáng)大的數(shù)據(jù)處理、空間分析功能在地學(xué)研究中得到廣泛應(yīng)用,采用ArcGIS軟件對中間數(shù)據(jù)進(jìn)行處理分析。
利用SURFER軟件結(jié)合ArcGIS自動繪制等值線圖,其處理過程可以分為以下幾步:
(1)生成初始化文件:包括邊界文件(.bln)、等值線分級文件(.lvl)、累計雨量數(shù)據(jù)文件(.dat);
(2)生成網(wǎng)格數(shù)據(jù):通過雨量數(shù)據(jù)文件創(chuàng)建網(wǎng)格文件(.grd);
(3)網(wǎng)格數(shù)據(jù)白化:通過行政邊界文件對網(wǎng)格數(shù)據(jù)進(jìn)行白化處理,去掉超出邊界的數(shù)據(jù),返回結(jié)果也是網(wǎng)格數(shù)據(jù)文件(.grd);
(4)按照分級文件創(chuàng)建等值線:通過白化后的網(wǎng)格數(shù)據(jù)(.grd)和分級文件(.lvl)創(chuàng)建等值線,并按照分級文件對等值線圖進(jìn)行配色、線型選擇、標(biāo)注等修飾操作;
(5)輸出等值線圖及透明化:將結(jié)果輸出成需要的格式,本文的輸出格式是帶坐標(biāo)范圍的png圖片文件,輸出之后對png圖片進(jìn)行背景透明處理。
經(jīng)過以上步驟生成的等值線圖可以在地形圖、行政圖、影像圖上進(jìn)行疊加預(yù)覽,使等值線圖更形象實用,為防汛防洪、山洪預(yù)警等工作提供幫助。
等值線自動繪制軟件采用C#編譯環(huán)境開發(fā),根據(jù)等值線繪制步驟,其實現(xiàn)過程主要包括3部分:初始文件的處理生成、C#調(diào)用SURFER生成等值線圖、后期處理(見圖1)。
圖1 等值線自動繪制軟件實現(xiàn)原理圖
3.1初始文件的處理生成
初始文件包括累計雨量、邊界文件以及分級文件。雨量數(shù)據(jù)存儲在SQLServer數(shù)據(jù)庫中,通過雨量站記錄并實時傳送到服務(wù)器,在調(diào)用軟件生成等值線時通過ADO自動訪問數(shù)據(jù)庫并將所需雨量數(shù)據(jù)按(x坐標(biāo)、y坐標(biāo)、測站編號、雨量值)的格式寫入服務(wù)器的.dat文件中以供計算需要;邊界文件是指全浙江省的行政區(qū)劃邊界,在計算中是通過構(gòu)成行政區(qū)劃線的點(diǎn)集按逆時針排序([x1,y1],[x2,y2],[x3,y3],[x4,y4],……,[xn,yn],)進(jìn)行存儲,原始的行政區(qū)劃線是Shapefile文件,通過ArcGIS的Feature Vertices To Points工具轉(zhuǎn)換成點(diǎn)集,再利用SURFER軟件生成可使用的邊界文件(.bln);分級文件(.lvl)包括所需生成等值線圖的分界值、線型符號、填充符號、標(biāo)注信息等內(nèi)容,該文件通過SURFER軟件生成。
3.2C#調(diào)用SURFER生成等值線圖
C#調(diào)用SURFER軟件生成等值線主要分為3步:創(chuàng)建網(wǎng)格數(shù)據(jù)、網(wǎng)格數(shù)據(jù)白化處理、生成等值線。
(2)網(wǎng)格白化:白化是去掉行政區(qū)劃外的網(wǎng)格數(shù)據(jù),使生成的等值線只包含所需要的部分,需要輸入上一步生成的網(wǎng)格文件(.grd)和邊界文件(.bln)。
(3)生成等值線:主要使用SURFER軟件的AddContourMap方法,首先創(chuàng)建Surfer圖形文檔,然后導(dǎo)入白化后的網(wǎng)格文件(.grd)和邊界文件(.bln),調(diào)用AddContourMap方法后生成等值線圖層,再并對等值線進(jìn)行平滑處理并覆蓋在電子地圖上。
生成等值線的主要程序如下:
Surfer.IPlotDocument PlotDoc=(Surfer.IPlotDocument)Docs.Add(SrfDocTypes.srf-DocPlot);
//PlotDoc 為Surfer文檔,初始化該文檔
Surfer.IMapFrame MapF=PlotDoc.Shapes.AddContourMap(strAppPath+@″out.grd″);
Surfer.IContourMap ContourMap=(Surfer.IContourMap)MapF.Overlays.Item(1);
//輸入白化后網(wǎng)格,生成等值線
ContourMap.SmoothContours=SrfConSmoothType.srfConSmoothHigh;
//平滑處理
ContourMap.Levels.LoadFile(strAppPath+@″Contour.lvl″);
//輸入分級文件
ContourMap.BlankFill.Transparent=true;
//設(shè)置圖層需要進(jìn)行透明處理
PlotDoc.Shapes.SelectAll();
//覆蓋所有地圖
3.3后期處理
后期處理主要包括圖片輸出及圖片背景透明化。
(1)圖片輸出:設(shè)置圖片寬、高及坐標(biāo)參考,將SURFER軟件生成的等值線轉(zhuǎn)換成帶坐標(biāo)的png圖片。
(2)背景透明化:將圖片轉(zhuǎn)化為位圖文件,掃描整個文件的每個像素,找到顏色為白色的像素點(diǎn),將該像素點(diǎn)的顏色值設(shè)為空。
經(jīng)過上述處理,最后生成的等值線圖效果見圖2。
圖2 C#調(diào)用SURFER生成等值線效果圖
等值線自動繪制軟件可滿足各種情況的等值線繪制要求,行政區(qū)劃上可以滿足全國、省、市、線、鄉(xiāng)鎮(zhèn)各個等級的等值線繪制,功能上除了雨量等值線圖的繪制,還可滿足等高線、等深線、海浪圖、潮位圖等多種三維圖的繪制,而且軟件計算的整個過程完全自動運(yùn)行無需人為干予,具有良好的操作性、可移植性和可拓展性。該軟件目前主要在山洪災(zāi)害監(jiān)測預(yù)警系統(tǒng)中得到應(yīng)用,包括衢州市、舟山市、鄞州、武義縣、柯城區(qū)、德清縣等20多個市縣區(qū)以及浙江省省級山洪災(zāi)害監(jiān)測預(yù)警系統(tǒng),其計算速度快,生成等值線圖效果良好,為山洪災(zāi)害監(jiān)測預(yù)警提供了很大的幫助。在山洪災(zāi)害系統(tǒng)中疊加地形圖的應(yīng)用效果見圖3。
圖3 雨量等值線在山洪災(zāi)害監(jiān)測預(yù)警中的應(yīng)用圖
應(yīng)用ArcGIS及SURFER軟件對雨量等值線圖自動繪制軟件進(jìn)行了研究,通過C#編程實現(xiàn)該軟件的開發(fā)。生成的等值線圖精度高、可視化效果良好,具有優(yōu)秀的可移植性及可拓展性,適應(yīng)各種類型的等值線圖繪制要求,且軟件運(yùn)行整個過程完全自動化,極大地方便了用戶使用。該軟件目前在浙江省20多個市縣區(qū)中得到了應(yīng)用,為防洪防汛提供了幫助,對山洪預(yù)警具有一定的指導(dǎo)意義。
[1]張仁凌,齊向華.使用Surfer軟件繪制雨量等值線圖[J].水利水文自動化,2007(4):45-47.
[2]張榜鑫,鄭加才,陳智洋.實時水情等值線自動繪制方法介紹及探討[J].中國西部科技,2005(11):18-19.
[3]白世彪,陳曄,王建.等值線繪圖軟件SURFER7.0中九種插值法介紹[J].物探化探計算技術(shù),2002(2):157-162.
[4]曾懷恩,黃聲享.基于Kriging方法的空間數(shù)據(jù)插值研究[J].測繪工程,2007,16(5):5.
[5]劉承香,阮雙琛,伍小芹.基于Kriging插值的數(shù)字地圖生成算法研究[J].深圳大學(xué)學(xué)報(理工版),2004,21(4):295-300.
[6]鄔倫,劉瑜,張晶,等.地理信息系統(tǒng)—原理、方法和應(yīng)用[M].北京:科學(xué)出版社,2001.
[7]陳述彭,魯學(xué)軍,周成虎.地理信息系統(tǒng)導(dǎo)論[M].北京:科學(xué)出版社,1999.
(責(zé)任編輯郎忘憂)
Application Research on SURFER Software in Drawing Rainfall Contour Map
CHEN Hong-fei1,XU Shi-cheng1,LV Bin1,YU Yuan-liang2
(1.Zhejiang Institute of Hydraulics & Estuary,Hangzhou 310020,Zhejiang,China;2.Water Conservancy Bureau of Kaihua County,Kaihua 324300,Zhejiang,China)
Using SURFER software to analyze the rainfall data of Zhejiang province and classify the rainfall,this study realized the real-time rainfall contour mapping of Zhejiang Province combined with ArcGIS software.Isosurface was drawn by filling the contour map.Using C# as tools,it further developed a drawing software for rainfall contour surface and isoline,which has good visual effects,directly reflecting the rainfall geographical distribution in Zhejiang province in a period,and has certain guiding significance for flood control and flash flood early warning work.Currently the software has been put into use in many cities and counties of Zhejiang Province.
SURFER;ArcGIS;rainfall contour;flood control
2016-01-07
陳洪飛(1983-),男,工程師,碩士,主要從事水利信息化、自動化咨詢設(shè)計以及實施工作。
TP311.5
A
1008-701X(2016)03-0074-03
10.13641/j.cnki.33-1162/tv.2016.03.023