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數據的首選軟件??梢暂p松制作基面圖、數據點位圖、分類數據圖、等值線圖、線框圖、地形地貌圖、趨勢圖、矢量圖以及三維表面圖等;提供十幾種數據網格化方法,包含幾乎所有流行的數據統計計算方法;提供各種流行圖形圖像文件格式的輸入輸出接口以及各大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全国探花系列在线播放| 国产青青操| 无码一区二区波多野结衣播放搜索| 国外欧美一区另类中文字幕| 午夜一区二区三区| 精品久久综合1区2区3区激情| 丰满人妻被猛烈进入无码| vvvv98国产成人综合青青| 国产美女在线免费观看| 国产又粗又爽视频| 国产丝袜一区二区三区视频免下载| 亚洲成人动漫在线| 精品国产乱码久久久久久一区二区| 亚卅精品无码久久毛片乌克兰| 亚洲高清无码久久久| 成人在线观看一区| 波多野结衣一区二区三区AV| 中文字幕亚洲第一| 熟妇无码人妻| 中文字幕亚洲第一| 亚洲日韩日本中文在线| 日本人真淫视频一区二区三区| 99热这里只有成人精品国产| 3p叠罗汉国产精品久久| 国产尤物在线播放| 亚洲AV无码乱码在线观看代蜜桃| 婷婷亚洲天堂| 色有码无码视频| 性欧美在线| 久久天天躁狠狠躁夜夜躁| 亚洲乱码视频| 久久一本精品久久久ー99| 亚洲人妖在线| 热伊人99re久久精品最新地| 九九热精品免费视频| 亚洲91在线精品| 亚洲一区免费看| 久久黄色毛片| 免费在线色| 亚洲精品无码AⅤ片青青在线观看| 九色在线视频导航91| 成人一级免费视频| 午夜国产精品视频| 好久久免费视频高清| 国产小视频a在线观看| 亚洲国产日韩视频观看| 国产一在线| 国产激情无码一区二区免费| 日韩人妻精品一区| 亚洲综合天堂网| 天天摸天天操免费播放小视频| 国产午夜小视频| 午夜啪啪网| 一区二区理伦视频| 亚洲欧美激情另类| 久久精品国产亚洲AV忘忧草18| 欧美精品亚洲二区| 区国产精品搜索视频| 毛片免费高清免费| 中文字幕伦视频| 免费观看精品视频999| 亚洲swag精品自拍一区| 久久99热66这里只有精品一| 国产无码性爱一区二区三区| 99成人在线观看| 日韩免费成人| 无码aaa视频| 亚洲日本中文字幕乱码中文| 日韩午夜片| 久久国产高潮流白浆免费观看| 久夜色精品国产噜噜| 美女毛片在线| 男女精品视频| 99久久人妻精品免费二区| 欧美日韩另类国产| 伊人中文网|