• 
    

    
    

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

      基于VB對Surfer軟件二次開發(fā)實(shí)現(xiàn)等值線圖自動(dòng)繪制

      2015-11-23 13:21:56郭文彬
      河南科技 2015年14期
      關(guān)鍵詞:等值線圖白化網(wǎng)格化

      郭文彬

      (北京華地四維勘測技術(shù)有限公司,北京 100096)

      Microsoft Visual Basic(VB)是一種由Microsoft公司開發(fā)的結(jié)構(gòu)化的、模塊化的、面向?qū)ο蟮?、包含協(xié)助開發(fā)環(huán)境的事件驅(qū)動(dòng)為機(jī)制的可視化程序設(shè)計(jì)語言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以輕易地使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松地創(chuàng)建ActiveX控件。程序員可以輕松地使用VB提供的組件快速建立一個(gè)應(yīng)用程序[1]。

      Surfer是美國Golden Software公司編制的一款以畫三維圖(等高線,image map,3d surface)的軟件。該軟件具有強(qiáng)大插值功能和繪制圖件能力,是處理XYZ數(shù)據(jù)的首選軟件??梢暂p松制作基面圖、數(shù)據(jù)點(diǎn)位圖、分類數(shù)據(jù)圖、等值線圖、線框圖、地形地貌圖、趨勢圖、矢量圖以及三維表面圖等;提供十幾種數(shù)據(jù)網(wǎng)格化方法,包含幾乎所有流行的數(shù)據(jù)統(tǒng)計(jì)計(jì)算方法;提供各種流行圖形圖像文件格式的輸入輸出接口以及各大GIS軟件文件格式的輸入輸出接口,大大方便了文件和數(shù)據(jù)的交流和交換;提供新版的腳本編輯引擎,自動(dòng)化功能得到極大加強(qiáng)[2]。

      本文通過VB和Surfer編程,結(jié)合工程中的數(shù)據(jù)特點(diǎn),編制了Surfer自動(dòng)成圖工具,實(shí)現(xiàn)了等值線圖的自動(dòng)繪制。自動(dòng)生成的等值線圖如圖1所示,程序界面如圖2所示。

      圖1 等值線圖

      圖2 程序界圖

      1 Surfer對象模型

      Surfer的程序結(jié)構(gòu)是采用ActiveX組件技術(shù)構(gòu)建的,可以采用各種編程語言如VB操作Surfer軟件,并調(diào)用其對象的屬性和方法實(shí)現(xiàn)自動(dòng)繪制各種圖形的功能。Surfer的對象層次結(jié)構(gòu)如圖3所示,其中最頂層的對象為Application對象,即Surfer本身,下面有四個(gè)直接對象:Documents Collection,Windows,Grid 和 VarioComponent。Documents Collection包含多級(jí)子對象,其中PlotDocument所包含的Shapes Collection是所有圖形的集合以及符號(hào)和文本的集合。在Surfer中等值線圖Contour Map也是圖形的一種[3-4]。

      Surfer的等值線自動(dòng)成圖就是通過調(diào)用這些對象的方法和屬性來實(shí)現(xiàn)的。

      圖3 Surfer的對象層次結(jié)構(gòu)圖

      2 Surfer自動(dòng)成圖及實(shí)現(xiàn)

      2.1 Surfer成圖基本過程

      使用Surfer軟件繪制圖形主要包括以下幾個(gè)步驟:

      ①選擇數(shù)據(jù)文件,根據(jù)工程的特點(diǎn)選擇對應(yīng)的3列數(shù)據(jù),其中第一列為對應(yīng)圖形的X坐標(biāo)值,第二列為對應(yīng)圖形的Y坐標(biāo)值,第三列為高程或者其他屬性值。

      ②選擇合適的插值方法對所需要的數(shù)據(jù)進(jìn)行網(wǎng)格化處理,生成對應(yīng)的grd格式文件。

      ③根據(jù)已有的grd網(wǎng)格文件生成等值線圖。

      ④對所繪制的等值線圖進(jìn)行顏色填充、白化處理以及標(biāo)注等美化處理。

      ⑤把地圖和等值線圖、白化疊加,完成圖形繪制。

      本文Surfer自動(dòng)化成圖也是基于上述Surfer繪圖的基本步驟來實(shí)現(xiàn)的。

      2.2 Surfer自動(dòng)化成圖實(shí)現(xiàn)

      對Surfer數(shù)據(jù)成圖的過程和Surfer的對象模型有了清楚的了解后,就可以編寫Surfer自動(dòng)化成圖的代碼了。主要過程如下,顯示部分代碼[5-6]。

      //定義Surfer對象和變量

      Dim srf As New Surfer.Application

      Dim plotDoc AsSurfer.IPlotDocument

      Dim mapFrame AsSurfer.IMapFrame

      Dim mapbase AsSurfer.IBaseMap

      Dim mdbmapFrame As Surfer.IMapFrame

      Dim mdbmapbase As Surfer.IBaseMap

      Dim gcmapFrame AsSurfer.IMapFrame

      Dim gcmapbase AsSurfer.IBaseMap

      Dim mapContour As Surfer.IContourMap

      Dim titletextAs Surfer.IText

      Dim inFile,strfilename As String

      Dim outFile,filemanyaddress As String

      Dim intPos,i As Integer

      Dim baseName As String

      Dim GridFile As String

      Dim outGridFile As String

      Dim inFileName As String

      Dim FilesAs Variant

      Dim x,y AsDouble

      Dim AxisAs Surfer.IAxis

      //選擇輸入、輸出文件和路徑

      With CommonDialog1

      .MaxFileSize=32767

      .DialogTitle=“打開文件”

      .CancelError=False

      .Filter=“TXT文件|*.txt|DAT文件|*.dat|所有文件(*.*)|*.*”

      .Flags=cdlOFNAllowMultiselectOr cdlOFNExplorer

      .ShowOpen

      Files=Split(filemanyaddress,Chr(0))

      For i=1 To UBound(Files)Step 1

      Files(i)=Files(0)&“”&Files(i)

      Next i

      ……

      //網(wǎng)格化數(shù)據(jù)

      srf.GridData DataFile:=strfilename,xCol:=2,yCol:=5,zCol:=4,yMin:=yminy,yMax:=ymaxy,xMin:=y,xMax:=x,NumRows:=((ymaxy-yminy)/ydist+1),NumCols:=((x-y)/xdist+1),Algorithm:=srfKriging,showreport:=False, outgrid: =outFile, OutFmt: =srfGridFmtS7,dupmethod:=srfDupNone

      SetplotDoc=srf.Documents.Add(srfDocPlot)

      //繪制等值線

      Set map Frame=plotDoc.Shapes.AddContourMap(outFile)

      SetmapContour=mapFrame.Overlays(1)

      IfCheck1.Value=1 Then

      mapContour.Levels.LoadFile(Text11.Text)

      End If

      mapContour.FillContours=True

      mapContour.LabelFont.Size=dgxsize

      mapContour.LabelFont.Face=Text9.Text

      mapContour.SmoothContours=4

      mapContour.SmoothContours=srfConSmoothHigh

      //白化處理

      IfCheck2.Value=1 Then

      Set mapFrame=plotDoc.Shapes.AddBaseMap(Text12.Text&inFileName&".bln")

      Setmapbase=mapFrame.Overlays(1)

      mapbase.Line.Width=gcblnsize

      End If

      IfCheck3.Value=1 Then

      Set mapFrame=plotDoc.Shapes.AddBaseMap(Text13.Text&inFileName&“.bln”)

      Setmapbase=mapFrame.Overlays(1)

      mapbase.Line.Width=mdbblnsize

      End If

      ……

      //添加標(biāo)題和保存Surfer圖形

      Set titletext=plotDoc.Shapes.AddText(x:=(xpage/2-2),y:=(ypage-1),Text:=inFileName&“線視電阻率擬斷面圖”)

      titletext.Font.Face=Text7.Text

      titletext.Font.Size=titlesize

      plotDoc.SaveAsbaseName&“.srf”

      srf.ScreenUpdating=True

      srf.Documents.CloseAllsrfSaveChangesNo

      srf.Quit

      到此,完成了Surfer的自動(dòng)化成圖。

      3 結(jié)語

      本文通過利用VB和Surfer實(shí)現(xiàn)了自動(dòng)繪制等值線圖,同時(shí)借助于其強(qiáng)大的數(shù)據(jù)分析和繪圖功能可以應(yīng)用到其他領(lǐng)域,同時(shí)發(fā)現(xiàn)可以修改其配置文件surfer.set實(shí)現(xiàn)更多更好的功能,同時(shí)也更加簡化。

      [1]Microsoft Corporation微軟(中國)有限公司.Visual Basic6.0中文版程序號(hào)指南[R].北京:希望電腦公司出品,1998.

      [2]楊朝輝,黨立華.基于Surfer Automation技術(shù)的三維立體渲染圖的繪制[J].海洋測繪,2003(26):47-49.

      [3]熊文兵.用Surfer7.0繪制氣象等值線圖[J].廣西擴(kuò)展名,2003(43):55-57.

      [4]陳明,何門貴.利用Grapher繪制彩色漸變剖面平面圖[J].物探與化探,2008,32(2):196-198.

      [5]周陽,黃浩云,李志強(qiáng),等.基于C#與Surfer Automation完成大氣污染擴(kuò)散等值線自動(dòng)化生成[J].環(huán)境科學(xué)與管理,2011,36(1):31-34.

      [6]黃夢龍.基于Surfer自動(dòng)化的等值線圖實(shí)時(shí)繪制與網(wǎng)絡(luò)發(fā)布方法[J].測繪與空間地理信息,2012,12(35):176-180.

      猜你喜歡
      等值線圖白化網(wǎng)格化
      湖南省似大地水準(zhǔn)面模型對比研究
      以黨建網(wǎng)格化探索“戶長制”治理新路子
      奮斗(2021年9期)2021-10-25 05:53:02
      白化黃喉擬水龜人工培育研究①
      最嚴(yán)重白化
      城市大氣污染防治網(wǎng)格化管理信息系統(tǒng)設(shè)計(jì)
      如何來解決等值線問題
      化解難題,力促環(huán)境監(jiān)管網(wǎng)格化見實(shí)效
      網(wǎng)格化城市管理信息系統(tǒng)VPN方案選擇與實(shí)現(xiàn)
      白化茶種質(zhì)資源分類研究
      茶葉(2015年3期)2015-12-13 06:31:06
      利用ACAD線型編輯功能實(shí)現(xiàn)SURFER繪制等值線圖的修改初探
      江蘇水利(2015年9期)2015-12-12 08:17:18
      高平市| 珠海市| 永胜县| 西乌珠穆沁旗| 肃北| 中阳县| 德令哈市| 武夷山市| 富顺县| 历史| 禄劝| 南汇区| 雷山县| 临城县| 南宁市| 丰城市| 吉木萨尔县| 文成县| 永州市| 凌源市| 桃源县| 河曲县| 江阴市| 司法| 湘潭县| 银川市| 柯坪县| 塔城市| 西藏| 炉霍县| 兴业县| 皋兰县| 江城| 蓝田县| 渝北区| 竹山县| 德格县| 沅陵县| 广元市| 江都市| 壶关县|