陳洪飛,許世誠(chéng),呂 斌,余元良
(1.浙江省水利河口研究院,浙江 杭州 310020;2.開化縣水利局,浙江 開化 324300)
?
SURFER軟件在雨量等值線圖繪制中的應(yīng)用研究
陳洪飛1,許世誠(chéng)1,呂斌1,余元良2
(1.浙江省水利河口研究院,浙江杭州310020;2.開化縣水利局,浙江開化324300)
應(yīng)用ArcGIS及SURFER軟件對(duì)雨量等值線圖自動(dòng)繪制軟件進(jìn)行了研究。采用C#作為工具,進(jìn)一步開發(fā)了雨量等值線面繪制軟件。該軟件繪制出的等值線以及等值面具有良好的可視化效果,能直觀反應(yīng)浙江省一段時(shí)間內(nèi)的降雨量地理分布情況,對(duì)防汛防洪山洪預(yù)警工作有一定的指導(dǎo)意義。
SURFER;ArcGIS;雨量等值線;防汛防洪
雨量等值線表示某一給定時(shí)間內(nèi)(如年、季、月)的雨量相等各點(diǎn)的連線,可以直觀顯示雨量的地理分布狀況[1]。它是反映雨量時(shí)空分布的最重要工具,通過(guò)等值線圖可以直觀地了解區(qū)域內(nèi)一段時(shí)間的降雨情況并以此對(duì)該區(qū)域未來(lái)降雨情況進(jìn)行預(yù)測(cè),目前已廣泛應(yīng)用于防洪、防汛、山洪預(yù)警中。然而,由于雨量數(shù)據(jù)的時(shí)效性,雨量等值線圖需要?jiǎng)討B(tài)繪制,傳統(tǒng)的手工繪制方法出圖慢、精度低的問(wèn)題漸漸體現(xiàn)出來(lái),通過(guò)計(jì)算機(jī)自動(dòng)繪制雨量等值線圖成為未來(lái)應(yīng)用的趨勢(shì)。
基于SURFER軟件對(duì)等值線圖進(jìn)行自動(dòng)繪制,使用者可以選取任意時(shí)間段進(jìn)行等值線圖的繪制,該方法出圖速度快、精度高,且可以與影像地形圖疊加,從而更方便了解雨量的區(qū)域分布。
SURFER是目前國(guó)內(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軟件對(duì)中間數(shù)據(jù)進(jìn)行處理分析。
利用SURFER軟件結(jié)合ArcGIS自動(dòng)繪制等值線圖,其處理過(guò)程可以分為以下幾步:
(1)生成初始化文件:包括邊界文件(.bln)、等值線分級(jí)文件(.lvl)、累計(jì)雨量數(shù)據(jù)文件(.dat);
(2)生成網(wǎng)格數(shù)據(jù):通過(guò)雨量數(shù)據(jù)文件創(chuàng)建網(wǎng)格文件(.grd);
(3)網(wǎng)格數(shù)據(jù)白化:通過(guò)行政邊界文件對(duì)網(wǎng)格數(shù)據(jù)進(jìn)行白化處理,去掉超出邊界的數(shù)據(jù),返回結(jié)果也是網(wǎng)格數(shù)據(jù)文件(.grd);
(4)按照分級(jí)文件創(chuàng)建等值線:通過(guò)白化后的網(wǎng)格數(shù)據(jù)(.grd)和分級(jí)文件(.lvl)創(chuàng)建等值線,并按照分級(jí)文件對(duì)等值線圖進(jìn)行配色、線型選擇、標(biāo)注等修飾操作;
(5)輸出等值線圖及透明化:將結(jié)果輸出成需要的格式,本文的輸出格式是帶坐標(biāo)范圍的png圖片文件,輸出之后對(duì)png圖片進(jìn)行背景透明處理。
經(jīng)過(guò)以上步驟生成的等值線圖可以在地形圖、行政圖、影像圖上進(jìn)行疊加預(yù)覽,使等值線圖更形象實(shí)用,為防汛防洪、山洪預(yù)警等工作提供幫助。
等值線自動(dòng)繪制軟件采用C#編譯環(huán)境開發(fā),根據(jù)等值線繪制步驟,其實(shí)現(xiàn)過(guò)程主要包括3部分:初始文件的處理生成、C#調(diào)用SURFER生成等值線圖、后期處理(見(jiàn)圖1)。
圖1 等值線自動(dòng)繪制軟件實(shí)現(xiàn)原理圖
3.1初始文件的處理生成
初始文件包括累計(jì)雨量、邊界文件以及分級(jí)文件。雨量數(shù)據(jù)存儲(chǔ)在SQLServer數(shù)據(jù)庫(kù)中,通過(guò)雨量站記錄并實(shí)時(shí)傳送到服務(wù)器,在調(diào)用軟件生成等值線時(shí)通過(guò)ADO自動(dòng)訪問(wèn)數(shù)據(jù)庫(kù)并將所需雨量數(shù)據(jù)按(x坐標(biāo)、y坐標(biāo)、測(cè)站編號(hào)、雨量值)的格式寫入服務(wù)器的.dat文件中以供計(jì)算需要;邊界文件是指全浙江省的行政區(qū)劃邊界,在計(jì)算中是通過(guò)構(gòu)成行政區(qū)劃線的點(diǎn)集按逆時(shí)針排序([x1,y1],[x2,y2],[x3,y3],[x4,y4],……,[xn,yn],)進(jìn)行存儲(chǔ),原始的行政區(qū)劃線是Shapefile文件,通過(guò)ArcGIS的Feature Vertices To Points工具轉(zhuǎn)換成點(diǎn)集,再利用SURFER軟件生成可使用的邊界文件(.bln);分級(jí)文件(.lvl)包括所需生成等值線圖的分界值、線型符號(hào)、填充符號(hào)、標(biāo)注信息等內(nèi)容,該文件通過(guò)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方法后生成等值線圖層,再并對(duì)等值線進(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″);
//輸入分級(jí)文件
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)化為位圖文件,掃描整個(gè)文件的每個(gè)像素,找到顏色為白色的像素點(diǎn),將該像素點(diǎn)的顏色值設(shè)為空。
經(jīng)過(guò)上述處理,最后生成的等值線圖效果見(jiàn)圖2。
圖2 C#調(diào)用SURFER生成等值線效果圖
等值線自動(dòng)繪制軟件可滿足各種情況的等值線繪制要求,行政區(qū)劃上可以滿足全國(guó)、省、市、線、鄉(xiāng)鎮(zhèn)各個(gè)等級(jí)的等值線繪制,功能上除了雨量等值線圖的繪制,還可滿足等高線、等深線、海浪圖、潮位圖等多種三維圖的繪制,而且軟件計(jì)算的整個(gè)過(guò)程完全自動(dòng)運(yùn)行無(wú)需人為干予,具有良好的操作性、可移植性和可拓展性。該軟件目前主要在山洪災(zāi)害監(jiān)測(cè)預(yù)警系統(tǒng)中得到應(yīng)用,包括衢州市、舟山市、鄞州、武義縣、柯城區(qū)、德清縣等20多個(gè)市縣區(qū)以及浙江省省級(jí)山洪災(zāi)害監(jiān)測(cè)預(yù)警系統(tǒng),其計(jì)算速度快,生成等值線圖效果良好,為山洪災(zāi)害監(jiān)測(cè)預(yù)警提供了很大的幫助。在山洪災(zāi)害系統(tǒng)中疊加地形圖的應(yīng)用效果見(jiàn)圖3。
圖3 雨量等值線在山洪災(zāi)害監(jiān)測(cè)預(yù)警中的應(yīng)用圖
應(yīng)用ArcGIS及SURFER軟件對(duì)雨量等值線圖自動(dòng)繪制軟件進(jìn)行了研究,通過(guò)C#編程實(shí)現(xiàn)該軟件的開發(fā)。生成的等值線圖精度高、可視化效果良好,具有優(yōu)秀的可移植性及可拓展性,適應(yīng)各種類型的等值線圖繪制要求,且軟件運(yùn)行整個(gè)過(guò)程完全自動(dòng)化,極大地方便了用戶使用。該軟件目前在浙江省20多個(gè)市縣區(qū)中得到了應(yīng)用,為防洪防汛提供了幫助,對(duì)山洪預(yù)警具有一定的指導(dǎo)意義。
[1]張仁凌,齊向華.使用Surfer軟件繪制雨量等值線圖[J].水利水文自動(dòng)化,2007(4):45-47.
[2]張榜鑫,鄭加才,陳智洋.實(shí)時(shí)水情等值線自動(dòng)繪制方法介紹及探討[J].中國(guó)西部科技,2005(11):18-19.
[3]白世彪,陳曄,王建.等值線繪圖軟件SURFER7.0中九種插值法介紹[J].物探化探計(jì)算技術(shù),2002(2):157-162.
[4]曾懷恩,黃聲享.基于Kriging方法的空間數(shù)據(jù)插值研究[J].測(cè)繪工程,2007,16(5):5.
[5]劉承香,阮雙琛,伍小芹.基于Kriging插值的數(shù)字地圖生成算法研究[J].深圳大學(xué)學(xué)報(bào)(理工版),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-),男,工程師,碩士,主要從事水利信息化、自動(dòng)化咨詢?cè)O(shè)計(jì)以及實(shí)施工作。
TP311.5
A
1008-701X(2016)03-0074-03
10.13641/j.cnki.33-1162/tv.2016.03.023