爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
12
返回列表 发新帖
楼主: qianz98

[源程序] 使用python调用surfer绘制等值线图的方法属性问题。

[复制链接]

新浪微博达人勋

 楼主| 发表于 2019-7-1 23:49:19 | 显示全部楼层
本帖最后由 qianz98 于 2019-7-2 08:23 编辑
holz 发表于 2019-6-27 09:01
刚刚有点时间,试验了一下,一切正常,并没有不支持 levels 对象、方法的现象出现。
我的测试代码:

你的方法我试了一下,一开始我这里调试是可以的,我发现主要是以下这行你和我写的不一样
  1. #app = w32c.gencache.EnsureDispatch('Surfer.Application')
  2.     app = w32c.Dispatch('Surfer.Application')
复制代码

用我原来的这句就会报错,换成你的这句就OK了。你的代码我这里运行是正常的。
本来我以为这样就行了,但是我又把注释的那句又改回去测试了一下,也就是轮流执行了一下你的代码和原来的代码后就又有故障了。这下再执行你的代码也执行出错了。



我也在网上找了一下相关的说明,就找到一个调用excel为例的,解释了一下win32com.client的用法:
win32com.client.Dispatch(‘Excel.Application‘):启动Excel进程,如果系统内存中存在Excel进程则直接使用现有的进程不会新增;
win32com.client.DispatchEx(‘Excel.Application‘):启动一个新的Excel进程;
win32com.client.gencache.EnsureDispatch(‘Excel.Application‘):和第一情况一样,但是会检测是否存在缓存文件。生成常量缓存文件便于调用程序的常量参数。
还需要更多测试来查找问题原因。

1.png
1.png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-7-2 08:36:20 | 显示全部楼层
python 极易入门,处理数据能力极其强大,而 surfer 科学数据可视化的能力也是有目共睹。

对于我这种懒人,python + surfer 简直是一时之选。

只不过 surfer 始终有版权的顾虑,而且有时候我会在 Linux 下工作,所以也学了点 gnuplot 和 GMT,现在简单点的图基本改用 gnuplot 制作了。这两个也是很容易被 python 调用。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-7-2 08:41:21 | 显示全部楼层
本帖最后由 holz 于 2019-7-2 09:20 编辑
qianz98 发表于 2019-7-1 23:49
你的方法我试了一下,一开始我这里调试是可以的,我发现主要是以下这行你和我写的不一样

用我原来的这 ...

看你这个错误提示,是 visible 首字母没有大写的缘故?
PS:刚刚换个终端测试了一下,果然不像是 VB,在 python 中,Surfer 的 方法和属性都要按照大小写要求严格书写。想要不出书写错误,帮助文件不离手。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-7-2 13:16:59 | 显示全部楼层
holz 发表于 2019-7-2 08:41
看你这个错误提示,是 visible 首字母没有大写的缘故?
PS:刚刚换个终端测试了一下,果然不像是 VB,在 ...

的确是首字母大小写的问题,好了可以继续愉快的写代码了。。谢谢。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-7-3 21:14:57 | 显示全部楼层
本帖最后由 qianz98 于 2019-7-3 22:09 编辑
holz 发表于 2019-7-2 08:41
看你这个错误提示,是 visible 首字母没有大写的缘故?
PS:刚刚换个终端测试了一下,果然不像是 VB,在 ...

问一下你的win32com.client是怎么安装的?是不是pip install pypiwin32? 我发现我1台PC上运行正常,另外一台上还是会有报错。一样的代码,我还没搞明白是什么原因导致的。我的surfer都15版。
AttributeError: '<win32com.gen_py.unknown.IShape instance at 0x2677404838936>' object has no attribute 'FillContours'


分隔线------------------------------------------------------------------------------------------------------------------

这个问题我自己解决了,通过pip uninstall pypiwin32 再 pip install pypiwin32 重装一遍就解决了。挺奇怪。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-6-19 15:45:32 | 显示全部楼层
谢谢程老师,我13和16都试了,确实只有13能跑起来
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-6-22 22:51:36 | 显示全部楼层
楼上的讨论学习了,收获不少!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-6 10:34:39 | 显示全部楼层
我使用的是C#调用surfer来绘图做的接口,多用户操作就绘图失败,而且发现进程会关不掉,用的surfer12,有人遇到过吗
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-1-24 08:52:55 | 显示全部楼层
收藏一下了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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