爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3525|回复: 4

[其他] .NET surfer二次开发异常

[复制链接]

新浪微博达人勋

发表于 2015-3-17 13:09:32 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
需求:使用闪电定位(LLS)数据,绘制一定区域范围内的雷击大地密度插值图。
原材料:原始txt文档,格式如下:
经度,纬度,值
120,30,3.5
结合surfer8.0进行了二次开发,绘制等值线图,使用kriging插值法。
二次开发内容大致如下描述:
1 把txt数据分析称grd数据
2 把grd数据绘制成等值先图
3 自动生成lvl文件,并且加载,适度美化
4 导出图片为bmp,供外围使用

然后使用.NET编写了测试程序。绘制一百遍。
问题出现了:
经过数百次的测试,大概有20%在步骤4的时候,surfer8.0出现“无响应”提示,然后假死。

请问各位高手是否有遇到过类似问题?有什么解决思路?非常感谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-3-18 10:37:42 | 显示全部楼层

回帖奖励 +50 金钱

我写 Surfer 的 Automation 都是用自带 Scripter 或者 VB,所以楼主姑且一看吧。

我觉得可以从以下几个方面着手查找原因:

1、Surfer 版本,既然用 8,可以的话,升级到 8.09.2391 版。Surfer 的各版本中,除了 DOS 版,Windows 下的版本就数 6 和 8 用的时间最长,其中 8 是每个 Update 都用过,而且那时候几乎每天都要开 Surfer 干活。Surfer 8 的几个小版本在数据导入导出都有些小问题,只有最后的那个版本还算稳定,注意 8.09 出过两个小版本,先出那个有比较严重的问题,一定要尾数 2391 的那个版本。

2、我已好几年不用 8 了,电脑上也没有了这个版本,好像记得 8 是可以在启动 Surfer.exe 时加参数然后会将各种操作过程记录到 LOG 文件中,楼主翻翻帮助,如果有这样的参数,就能够从log文件中查找出问题是在哪一个步骤。

3、导出位图是有参数设置的,像素、精度什么的,这些参数决定了结果文件的大小,当然也决定了导出过程中 Surfer 需要耗费的内存大小。如果像素设置太大,精度设置过高,Surfer 8 分分钟 hang 或 crash。

4、Surfer 8 对内存的管理比较差,所以二次开发要注意自己清理释放内存,譬如你通过 Automation 让 surfer 做几百次工作,分分钟让大片大片的内存变成上古遗迹、荒古传奇,特别是不小心每次 CreateObject 而不做释放的情况下。

Surfer 8 真的不用太久了,现在自己写程序的时候也少了,胡乱说几点,楼主且看且琢磨吧,希望有帮助。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-3-21 14:58:16 | 显示全部楼层
经过多次调试,发现问题如下:
无标题.jpg
经过调研,发现问题解决方案:
http://jingyan.baidu.com/article/f79b7cb34e49519144023ef2.html
希望能帮到大家

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-3-21 19:02:09 | 显示全部楼层
记忆碎片 发表于 2015-3-21 14:58
经过多次调试,发现问题如下:

经过调研,发现问题解决方案:

谢谢你。可供大家参考。我在自编的程序中有时候无法完成Surfer的调用,也许和你说的情况相同,也是久久找不到原因。你很敬业,谢谢你。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-3-23 04:43:52 来自手机 | 显示全部楼层
你很敬业,谢谢你。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表