• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      C#調(diào)用Surfer接口繪制區(qū)域站等值線圖

      2014-04-08 22:39:51齊軍岐千陽縣氣象局陜西千陽700寶雞市氣象局陜西寶雞7006
      陜西氣象 2014年2期
      關(guān)鍵詞:等值線圖氣象要素寶雞市

      王 波 ,齊軍岐(.千陽縣氣象局,陜西千陽 700;.寶雞市氣象局,陜西寶雞 7006)

      C#調(diào)用Surfer接口繪制區(qū)域站等值線圖

      王 波1,齊軍岐2
      (1.千陽縣氣象局,陜西千陽 721100;2.寶雞市氣象局,陜西寶雞 721006)

      C#;Surfer;區(qū)域自動(dòng)氣象站;等值線圖

      截止2012年底,寶雞市已建成158個(gè)區(qū)域自動(dòng)氣象站,實(shí)現(xiàn)了多要素的連續(xù)動(dòng)態(tài)實(shí)時(shí)監(jiān)測(cè),大大增強(qiáng)了災(zāi)害性天氣的監(jiān)測(cè)預(yù)警能力。目前,在對(duì)地方的氣象服務(wù)工作中,各類氣象服務(wù)材料已必不可少,簡(jiǎn)單的表格式材料已不能滿足當(dāng)前的服務(wù)需求。將Surfer強(qiáng)大的插值、繪圖功能和C#編程語言的簡(jiǎn)單可視化操作以及高效運(yùn)行效率相結(jié)合,利用C#編程語言調(diào)用Surfer軟件接口的繪圖函數(shù),實(shí)現(xiàn)區(qū)域自動(dòng)氣象站溫度和降水資料插值填圖、等值線繪制以及色彩填充,將氣象資料轉(zhuǎn)化為美觀、便于調(diào)閱的圖像文件,對(duì)臺(tái)站人員更好地應(yīng)用區(qū)域站資料,做好氣象服務(wù)提供幫助。

      1 繪制等值線圖流程

      首先,利用結(jié)構(gòu)化查詢語言(Structured Query Language,簡(jiǎn)稱sql)查詢區(qū)域站整點(diǎn)數(shù)據(jù),結(jié)合站點(diǎn)信息動(dòng)態(tài)生成“溫度.dat”和“雨量.dat”兩個(gè)基本氣象要素?cái)?shù)據(jù)文件;接著通過C#調(diào)用Surfer軟件接口,對(duì)基本氣象要素?cái)?shù)據(jù)進(jìn)行格點(diǎn)化處理,最后加載“寶雞市底圖.bln”、“寶雞市邊界圖.bln”兩個(gè)地圖文件和“等級(jí).lvl”色標(biāo)文件繪制溫度、降水等值線色斑圖。

      2 基本數(shù)據(jù)文件及格式

      2.1 氣象要素?cái)?shù)據(jù)文件

      氣象要素?cái)?shù)據(jù)文件(*.dat)的文件格式如下

      X Y Z

      X0Y0Z0

      X1Y1Z1

      … … …

      XnYnZn

      其中第一、二列分別為區(qū)域站站點(diǎn)經(jīng)度和緯度,第三列為氣象要素值(如氣溫、降水量),每行代表一個(gè)區(qū)域自動(dòng)氣象站的數(shù)據(jù)。C#生成氣象要素?cái)?shù)據(jù)文件(*.dat)核心代碼為

      Select 一小時(shí)雨量,空氣溫度 from CawsData where 日期時(shí)間=? + date + ″0000″ ; (獲取區(qū)域站雨量和溫度數(shù)據(jù),date為yyyyMMddhh的時(shí)間格式字符串)

      StreamReader sr = new StreamReader(baojistation,Encoding.GetEncoding(″GBK″))

      (獲取區(qū)域站經(jīng)緯度數(shù)據(jù))

      wendu += station + ″ ″ + T + ″ ″;

      StreamWriter sw = new StreamWriter(″溫度.dat ″); (生成X、Y、Z格式的“溫度.dat”文件)

      2.2 地圖數(shù)據(jù)

      繪圖所需的地圖數(shù)據(jù)為“寶雞市底圖.bln”和“寶雞市邊界圖.bln”,包含了市、縣邊界經(jīng)緯度數(shù)據(jù)。寶雞市底圖文件格式為

      Length(底圖坐標(biāo)個(gè)數(shù)) flag(標(biāo)志)

      X0Y0

      X1Y1

      … …

      XnYn

      其中l(wèi)ength為底圖坐標(biāo)總數(shù),flag為標(biāo)志位1或0(1代表消除閉合曲線內(nèi)的等值線,0代表消除閉合曲線外的等值線),Xn、Yn分別代表所轄區(qū)縣邊界經(jīng)緯度坐標(biāo)。

      寶雞市邊界圖與底圖格式一樣,唯一不同的是邊界圖包含的是一條連續(xù)的邊界曲線經(jīng)緯度坐標(biāo),也就是一條閉合曲線,即要求Xn=X0、Yn=Y0。

      2.3 色彩填充文件

      繪圖所需的色彩填充文件為*.lvl格式的色標(biāo)文件,包含了氣象要素值所對(duì)應(yīng)的數(shù)量等級(jí)顏色值及樣式。

      3 繪制等值線圖

      3.1 C#對(duì)Surfer軟件接口調(diào)用引用

      首先添加對(duì)Surfer軟件Interop.Surfer.dll類庫文件的引用,然后可以通過編寫C#代碼實(shí)現(xiàn)對(duì)Surfer軟件各功能的調(diào)用,實(shí)現(xiàn)寶雞市區(qū)域自動(dòng)氣象站溫度、雨量等值線圖的繪制。surfer接口引用調(diào)用代碼

      using Surfer; (為C#程序添加Surfer接口引用)

      Surfer.Application SurferApp = new Surfer.Application(); (調(diào)用Surfer,生成實(shí)例對(duì)象)

      3.2 氣象要素?cái)?shù)據(jù)離散化差值

      繪制等值線圖需要的數(shù)據(jù)為格點(diǎn)數(shù)據(jù),需要將包含氣溫、雨量、站點(diǎn)經(jīng)緯度的氣象要素?cái)?shù)據(jù)轉(zhuǎn)換成格點(diǎn)數(shù)據(jù)。

      氣象要素?cái)?shù)據(jù)格點(diǎn)化轉(zhuǎn)換核心代碼為

      SurferApp.GridData(datFile,1,2,3,Surfer.SrfDupMethod.srfDupNone,0.03,0.03, ...106.2,108.4,33.4,35.6, Surfer. SrfGridAlgorithm. srfKriging,...); (調(diào)用Surfer 實(shí)例對(duì)象的GridData()方法對(duì)氣象要素?cái)?shù)據(jù)進(jìn)行格點(diǎn)化轉(zhuǎn)換,datFile 為生成的XYZ文件

      名,即*.dat文件加路徑,0. 03為網(wǎng)格經(jīng)緯向的分辨率,106.2、33.4分別為起始經(jīng)、緯度, 108.4、35.6分別為結(jié)束經(jīng)、緯度,插值方法是Kriging方法)

      3.3 生成等值線圖

      氣象要素?cái)?shù)據(jù)通過離散化差值轉(zhuǎn)換為格點(diǎn)數(shù)據(jù)后,Surfer對(duì)格點(diǎn)數(shù)據(jù)進(jìn)行Insert平滑處理,通過GridBlank()方法利用“寶雞市邊界.bln”文件去掉地圖邊界外的區(qū)域;建立繪圖文檔和繪圖窗口,將氣象要素格點(diǎn)數(shù)據(jù)生成等值線圖添并加到等值面圖層;新建并添加色彩填充文件即“等級(jí).lvl”、寶雞市地圖文件、圖例、圖注等圖層,最后將所有圖層疊加調(diào)用繪圖文檔的Export()方法生成等值線圖并輸出。生成等值線圖核心代碼

      SurferApp.GridSplineSmooth(OutGrid, 8, 8, SrfSplineMethod.srfSplineInsert,...); (將格點(diǎn)數(shù)據(jù)文件進(jìn)行平滑,平滑方法為Insert,行列的插值點(diǎn)數(shù)都為8)

      SurferApp.GridBlank(SmoothGrid, BlankFile, ...); (利用“寶雞市邊界.bln”文件去掉地圖邊界外的區(qū)域)

      Doc= (Surfer.IPlotDocument)SurferApp.Documents.Add (Surfer.SrfDocTypes.srfDocPlot);

      (建立一個(gè)繪圖文檔和一個(gè)繪圖窗口)

      ClassedCounterMap.Levels.LoadFile(LevelFile); (添加等值線圖色彩填充文件)

      Surfer.IMapFrame mapframe2 = Doc. Shapes. AddBaseMap(BaseFile); (添加寶雞市底圖文件)

      sel.OverlayMaps(); (將圖層全部選定,進(jìn)行層疊覆蓋)

      Doc.Export(OutGrpahic, ...,width=680, height=500, ...) ; (OutGraphic為生成的等值線圖片名稱,格式可選如png、jpg等 ,680和500為圖片的長(zhǎng)和寬)

      4 結(jié)語

      C#調(diào)用Surfer軟件接口既可以充分發(fā)揮Surfer軟件強(qiáng)大的繪圖功能,又可以發(fā)揮C#編程強(qiáng)大的人機(jī)交互優(yōu)勢(shì),二者相結(jié)合所繪制的區(qū)域站溫度、降水量等值線圖可將區(qū)域自動(dòng)氣象站觀測(cè)資料直觀和美觀的顯示出來。

      [1] 王建,白世彪,陳曄.Surfer8 地理信息制圖[M].北京:中國地圖出版社,2004:124-128.

      [2] 馬玉峰,高春香.VB與Surfer聯(lián)合編程實(shí)現(xiàn)自動(dòng)繪制氣象要素圖形[J].內(nèi)蒙古氣象,2010(2):38-40.

      [3] 王赟,段燕楠,何俊.基于C#的ASP.NET建立氣象數(shù)據(jù)查詢系統(tǒng)[J].電腦編程技巧與維護(hù),2010(13):41-43.

      王波,齊軍岐.C#調(diào)用Surfer接口繪制區(qū)域站等值線圖[J].陜西氣象,2014(2):45-47.

      1006-4354(2014)02-0045-03

      2013-08-19

      王 波(1985—),男,陜西楊陵人,漢族,學(xué)士,助理工程師,從事技術(shù)保障和氣象信息技術(shù)開發(fā)。

      B

      猜你喜歡
      等值線圖氣象要素寶雞市
      寶雞市普瑞思電子科技有限公司
      成都電網(wǎng)夏季最大電力負(fù)荷變化特征及其與氣象要素的關(guān)系
      寶雞市人民醫(yī)院簡(jiǎn)介
      沈陽市1951—2013年氣候變化特征及其區(qū)域蒸發(fā)的響應(yīng)分析
      寶雞市陳倉區(qū):五化提升強(qiáng)堡壘 黨建引領(lǐng)扶真貧
      北京市朝陽區(qū)大氣污染物時(shí)空分布特征及與氣象要素的關(guān)系研究
      如何來解決等值線問題
      探測(cè)環(huán)境變化對(duì)臨沭站氣象要素的影響
      董小龍赴寶雞市宣講黨的十八屆六中全會(huì)精神
      利用ACAD線型編輯功能實(shí)現(xiàn)SURFER繪制等值線圖的修改初探
      江蘇水利(2015年9期)2015-12-12 08:17:18
      石景山区| 遂平县| 孟州市| 虎林市| 屏东市| 崇仁县| 望都县| 犍为县| 哈尔滨市| 水富县| 太和县| 江西省| 克东县| 富蕴县| 宣恩县| 江陵县| 华安县| 抚顺市| 延寿县| 潼关县| 鲁山县| 元朗区| 自治县| 东阳市| 灵武市| 得荣县| 永福县| 阜南县| 雷波县| 蓬安县| 泊头市| 湖州市| 福海县| 新昌县| 西充县| 革吉县| 古田县| 辽阳县| 炎陵县| 乌海市| 三原县|