为了形成一个JPG或动画的GIF。
费了很大劲,首先从mapgis里面有一个文件转换,把要转换的东西。转换成dxf,
这样surfer就可以得到其中的数据,目的 就是得到一个精确的边界(或白化)图。
然后,熟悉相关数据库中存存储相关字段及值。这些值是用来后面的作为X,Y,Z对应
相应的经纬度的值。以便格网化形成等值线。
然后。事先把LEVELS文件就是画等值线的固定做好(用其中的savefile).,在程序中
用Loadfile就加载进来了。
遇到一个问题,surfer如何读取x,y,z值呢,因为这些值在数据库中。
第一个想到的是excel,由经纬度及量值组成,数据库导入excel,然后surfer从excel中导入。
但有问题,有时不兼容excel,偶尔提示(因为它只认一页)
所以最后想到还是用原始的进行输入吧。当然是自动原始输入。
即VB *** 作surfer打开自身的一个表,用程序自动填写经纬度和量值。然后存盘,格网化。包括一些白化等。
就形成了最终的图形,最后输出JPG(发现MIT还是MID很清晰)
发现一个强大的功能。
surfer *** 作单元格的能力绝对不弱于excel。
不过用于实际自动化 *** 作还是这个 wksDoc.cells(i,j) 方便。
Option ExplicitPrivate Sub Command1_Click() Dim srf As New Surfer.Application Dim wksDoc As Surfer.IWksdocument srf.Visible = True Set wksDoc = srf.documents.Add(srfDocWks) wksDoc.Activate wksDoc.Cells(1,1) = "x" wksDoc.Cells(1,2) = "y" wksDoc.Cells(1,3) = "z" wksDoc.Cells(2,1) = 11 wksDoc.Cells(2,2) = 12 wksDoc.Cells(2,3) = 13 '这些都应该是从数据库获得的值,此处略去连接数据库等取值 *** 作 wksDoc.SaveAs "D:.dat" '存盘 wksDoc.Close srfSaveChangesNo '不提示直接关闭End Sub
最后:两个
白化:object.GrIDBlank( InGrID,Blankfile,OutGrID,OutFmt )
dim srf as new surfer.application
srf.grIDblank(ingrID:="D:\1.Grd",blackfile:="D:\1.bln",outgrID="D:\2.Grd")
第一参:输入的网络文件
第二参:要白化的边界
第三参:输出经白化的网格文件。
叠放次序。
在无法确定时,须全部选择取消,再选择其中一个为选定。再设置SetZOrder就可以
object.SetZOrder(Zorder)
eg: Selection.SetZOrder(Zorder:=srfZOToFront)
Shapes("Map").Overlays("Wireframe").SetZOrder(srfZOToFront)
scripter就这样。
收工!
总结以上是内存溢出为你收集整理的surfer 8 scripter 学习笔记(8)结合其它相关形成最终VB程序。全部内容,希望文章能够帮你解决surfer 8 scripter 学习笔记(8)结合其它相关形成最终VB程序。所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)