999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VB對Surfer軟件二次開發實現等值線圖自動繪制

2015-11-23 13:21:56郭文彬
河南科技 2015年14期

郭文彬

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

Microsoft Visual Basic(VB)是一種由Microsoft公司開發的結構化的、模塊化的、面向對象的、包含協助開發環境的事件驅動為機制的可視化程序設計語言。VB擁有圖形用戶界面(GUI)和快速應用程序開發(RAD)系統,可以輕易地使用DAO、RDO、ADO連接數據庫,或者輕松地創建ActiveX控件。程序員可以輕松地使用VB提供的組件快速建立一個應用程序[1]。

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

本文通過VB和Surfer編程,結合工程中的數據特點,編制了Surfer自動成圖工具,實現了等值線圖的自動繪制。自動生成的等值線圖如圖1所示,程序界面如圖2所示。

圖1 等值線圖

圖2 程序界圖

1 Surfer對象模型

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

Surfer的等值線自動成圖就是通過調用這些對象的方法和屬性來實現的。

圖3 Surfer的對象層次結構圖

2 Surfer自動成圖及實現

2.1 Surfer成圖基本過程

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

①選擇數據文件,根據工程的特點選擇對應的3列數據,其中第一列為對應圖形的X坐標值,第二列為對應圖形的Y坐標值,第三列為高程或者其他屬性值。

②選擇合適的插值方法對所需要的數據進行網格化處理,生成對應的grd格式文件。

③根據已有的grd網格文件生成等值線圖。

④對所繪制的等值線圖進行顏色填充、白化處理以及標注等美化處理。

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

本文Surfer自動化成圖也是基于上述Surfer繪圖的基本步驟來實現的。

2.2 Surfer自動化成圖實現

對Surfer數據成圖的過程和Surfer的對象模型有了清楚的了解后,就可以編寫Surfer自動化成圖的代碼了。主要過程如下,顯示部分代碼[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

……

//網格化數據

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

……

//添加標題和保存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的自動化成圖。

3 結語

本文通過利用VB和Surfer實現了自動繪制等值線圖,同時借助于其強大的數據分析和繪圖功能可以應用到其他領域,同時發現可以修改其配置文件surfer.set實現更多更好的功能,同時也更加簡化。

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

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

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

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

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

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

主站蜘蛛池模板: 日本在线免费网站| 国产成人91精品| Aⅴ无码专区在线观看| 制服丝袜亚洲| 日本欧美视频在线观看| 香蕉视频在线精品| 国模沟沟一区二区三区| 国产精品视频猛进猛出| 国产网友愉拍精品| 九九热这里只有国产精品| 国产香蕉在线视频| 欧美视频在线播放观看免费福利资源 | 国产毛片高清一级国语| 91精品人妻互换| 成人午夜亚洲影视在线观看| 欧美一级夜夜爽www| 成年午夜精品久久精品| 国产成人a毛片在线| 国产精品熟女亚洲AV麻豆| 国产探花在线视频| 最新日韩AV网址在线观看| 美女被狂躁www在线观看| 日韩在线永久免费播放| 日韩无码视频网站| 亚洲久悠悠色悠在线播放| 毛片免费在线| 国产在线观看精品| av午夜福利一片免费看| 97精品伊人久久大香线蕉| 国产精品免费福利久久播放 | 国产精品妖精视频| 呦视频在线一区二区三区| 午夜福利在线观看入口| 国产日本欧美亚洲精品视| 久热这里只有精品6| 国产全黄a一级毛片| 91在线一9|永久视频在线| 久久女人网| 美女无遮挡免费网站| 国产综合网站| 日韩天堂网| 国产真实自在自线免费精品| 精品久久久久久久久久久| 露脸国产精品自产在线播| 精品视频福利| 成人第一页| 2020国产在线视精品在| 欧美日韩动态图| 国产理论最新国产精品视频| 国产人人射| 欧美不卡二区| jizz国产视频| AV无码一区二区三区四区| 狠狠色丁婷婷综合久久| 男女猛烈无遮挡午夜视频| 久久久久久高潮白浆| 热99精品视频| 国产91在线免费视频| 欧洲日本亚洲中文字幕| 天堂av综合网| 国产精品三级专区| 亚洲香蕉在线| 国产在线视频福利资源站| 久久亚洲日本不卡一区二区| 色AV色 综合网站| 99热亚洲精品6码| 99久久99视频| 国产免费a级片| 高h视频在线| 国产一区二区福利| 九色综合视频网| 国内精品小视频在线| 国产高清又黄又嫩的免费视频网站| 亚洲一级毛片在线观播放| 精品人妻AV区| 亚洲成人网在线观看| 丁香五月婷婷激情基地| 日韩在线永久免费播放| 54pao国产成人免费视频| 色综合手机在线| 国产欧美视频在线| 国产成人免费手机在线观看视频 |