万博手机版官网网址金软件博客

帮助您了解有关最新产品信息,提示,技巧,技术和客户故事的更多信息,因此您可以轻松地可视化数据并通过沟通结果。

Scripter示例:在目录中读取所有数据文件

Scripter是一个内置应用程序,用于我们的几个程序,允许用户通过使用Visual Basic的接口运行一系列命令来自动执行任务。Scripter在冲浪者,格拉弗,MapViewer和Voxler中提供。使用Scripter,您可以编写脚本以执行程序中可用的几乎每个命令!如果您尝试处理许多不同的数据集以产生相同的地图或图形,则这可能非常有用。

为了让您了解如何使用Scripter,下面我已经为更安全的示例脚本读取了目录中的所有数据文件并从该数据中创建网格文件。有关Scripter的一般概述,以及Scripter接口的描述,我建议您审核链接的文章:

万博手机版官网网址金软件通讯:自动化调试提示和技巧

基本的Scripter语法从目录中读取所有DAT文件的语法在下面的脚本efterpt中显示。请注意脚本的行绿色是注释,而不是读为脚本中的命令。

'设置目录和文件名。Directory = "C:\Users\ENTER PATH" Files = Dir(Directory + "*.dat")’当阅读文件时While Files <> "" file = (Directory + Files)在这里输入你想对每个文件执行的命令在文件夹中获取下一个DAT文件文件= Dir() Wend

你可以使用上面的语法来自动处理Surfer中的大部分数据。下面我提供了一个使用这种方法在Surfer中自动化数据文件网格化的例子。

示例脚本,GridAll.bas,使用此方法从指定目录中包含的所有XYZ数据文件中创建网格文件。以下是使用的脚本尽管Files <>命令对指定目录下的每个数据文件进行操作。

'gridall.bas网格网格指定的“目录”中的所有指定类型的数据文件。“您必须在脚本中指定下面的文件扩展名和文件目录。'网格文件保存在同一目录中。“如果您运行脚本而且没有任何内容发生,请确保”file_directory有效。'有关常见错误的脚本底部子主要调试。清晰的“”“”“”“”“”“””用户变量‘’‘’‘’‘’‘’‘’‘’‘’‘’file_extension = "dat" file_directory = "C:\samples\dat\"“''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''set surf = createObject(“surfer.application”)surf.visible = true'确保文件扩展名没有额外的。数据目录具有“尾随”如果Len(file_directory)-InStrRev(file_directory,"\") <> 0则file_directory = file_directory + "\" data_file = Dir(file_directory + "*." ")+ file_extension) OnErrorGoTo FileError While data_file <> ""'定义输出网格文件的目录和名称grid_file = file_directory + left(data_file,len(data_file) - (len(data_file)-instrrev(data_file,“。”)+ 1))+“.grd”'网格数据文件具有当前冲浪者默认值的数据文件,但不填充屏幕与网格报告)surf.griddata(数据文件:= file_directory + data_file,showreport:= false,outgrid:= grid_file)“您可以取消注释下面的行,以明确更改”网格选项“。确保注释出上面的行或文件将被包装两次。“有关使用这些选项及其”定义的更多信息,请参阅潮流服务器帮助文件,通过使用“MENU命令帮助”|关于然后搜索“griddata”。'surf.griddata(数据文件:= file_directory + data_file,xcol:= 1,ycol:= 2,zcol:= 3,algorithm:= srfkriging,showreport:= false,semourste:= true,krigstddevgrid:= surferapp.path +“\samples \ stddev.grd“,OutGrid:= grid_file,OutFMT:= SrfGridFmts7)debug.print data_file data_file = dir()的下一个文件Wend surf.quit exitsub.'为未正确网格的每个文件打印有意义的错误消息调试。打印"Error: " + data_file + " " + Err.Description ResumeNext EndSub“有用的错误提示:”a)如果脚本似乎没有任何操作,请确保file_directory有效。'b)“xmin必须

为了说明这个脚本做什么,我已经测试了这个脚本的数据文件(*.dat),包括在Surfer 12 Samples文件夹,通常位于这里:

C:\Program Files\万博手机版官网网址Golden软件\冲浪者12\样本\

此脚本将每个数据文件网格栅格并将它们保存到同一目录中。一旦网格,您可以使用数据创建基于网格的地图。为了说明这一点,我已经包括从这些网格文件生成的轮廓图的一些屏幕截图。


demogrid.dat |demogrid.grd.


diablo example.dat |diablo example.grd.


sample1.dat |sample1.grd.


tutorws.dat |tutorws.grd.

除了栅格脚本,您可以从其他免费脚本下载万博手机版官网网址黄金软件支持站点在每个程序的样本目录中。

我希望这是一个快速又有帮助的例子,你如何使用脚本提高冲浪者的工作流程和效率。如果您对编写脚本有任何疑问,请使用Scripter应用程序或冲浪者的其他用途,请不要犹豫联系万博手机版官网网址金色的软件支持

注释2

来宾
嘉宾 - Chenzhiquan.2016年12月3日星期六00:01

我想知道如何解决'd)数据不足(所有数据位于水平面)意味着所有z'值在有用的错误提示中都是相同的,我使用c#和surfer12制作contourmap.my griddata是:
app.GridData(fileDir + fileName + @".dat", 1, 2, 3,类型。失踪,/ / 5类型。失踪,类型。失踪,类型。缺失,502,558,//10 xMin, xMax, yMin, yMax, 2, //15假,类型。失踪,类型。失踪,类型。失踪,类型。失踪,/ / 20类型。失踪,类型。失踪,类型。失踪,类型。失踪,类型。失踪,/ / 25型。失踪,类型。失踪,类型。失踪,类型。失踪,类型。失踪,/ / 30类型。失踪,类型。失踪,类型。失踪,类型。失踪,类型。失踪,/ / 35类型。失踪,类型。失踪,类型。失踪,类型。失踪,类型。失踪,/ / 40类型。失踪,类型。失踪,类型。失踪,类型。失踪,类型。失踪,/ / 45类型。失踪,类型。失踪,类型。失踪,类型。缺失,fileDir + fileName + @"。研磨”/ / 50 SrfGridFormat。srfGridFmtAscii,类型。失踪,类型。失踪,类型。失踪,类型。失踪,55 / /类型。失踪,类型。Missing); Can you help me /

我想知道如何解决'd)数据不足(所有数据位于水平面)意味着所有z的值在有用的错误提示中都是相同的,我使用c#和surfer12制作contourmap.my griddata是:应用程序.griddata(filedir + filename + @“。dat”,1,2,3,type.missing,// 5 type.missing,type.missing,type.missing,502,558,// 10 xmin,xmax,ymin,2,// 15 false,type.missing,type.missing,type.missing,type.missing,// 20 type.mitsing,type.missing,type.missing,type.mitsing,type.missing,// 25 Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,// 30 Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,// 35类型。失踪,类型。失踪,类型。失踪,类型。失踪,类型。失踪,/ / 40类型。失踪,类型。失踪,类型。失踪,类型。失踪,类型。失踪,/ / 45类型。失踪,类型。失踪,类型。失踪,类型。缺失,fileDir + fileName + @"。研磨”/ / 50 SrfGridFormat。srfGridFmtAscii,类型。失踪,类型。失踪,类型。失踪,类型。失踪,55 / /类型。失踪,类型。Missing); Can you help me /
来宾
客人-莱斯利·麦克沃特2016年12月5日星期一11:24

你好Chenzhiquan,

我们不支持来自脚本以外的任何语言的脚本,所以如果有任何内容(虽然所有类型的线条似乎奇怪),我无法解决C#脚本有什么问题,但我可以告诉您“不足”数据(所有数据位于水平面中)“错误表示所有z值都是相同的。Surfer不支持所有z值相同的网格。如果您想创建一个水平(平面)网格,您需要在网格化之前稍微改变数据文件中的一些z值。因此,例如,如果所有Z为0,则可能会更改几到0.0001和几到-0.0001。

谢谢,
莱斯利

Hello chenzhiquan,我们不支持任何语言的脚本,除了Scripter,所以我不能告诉你具体什么是错误的c#脚本如果有什么(尽管所有的类型。缺失的线条看起来很奇怪),但是我可以告诉你“不充分的数据(所有数据都在一个水平面上)”错误表明所有的z值都是相同的。Surfer不支持所有z值相同的网格。如果您想创建一个水平(平面)网格,您需要在网格化之前稍微改变数据文件中的一些z值。例如,如果所有的z都是0,你可以把一些修改为0.0001,一些修改为-0.0001。谢谢,莱斯利
来宾
2021年5月10日星期一

验证码图像

通过接受您将访问由//www.a1classiccar.com/外部的第三方提供的服务

订阅我们的博客

最受欢迎

将MAPS从冲浪者将软件导出到ArcMap中
多年来,人们最常问的一个问题是“我怎样才能从Surfe拿到等高线地图……”
创建地形坡度地图从数字高程模型在冲浪者
创建斜坡地图是看着斜坡稳定性时的常见做法。什么时候......
介绍我们的第一个Guest Blogger  - 创意地图解决方案的斯科特卡特万博体育倒闭
我很高兴推出我们的第一个博客,斯科特卡特,所有者和创意总监......

超出预期

去前