请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5257|回复: 12

求meteoinfo批量处理数据的方法!!!

[复制链接]

新浪微博达人勋

发表于 2014-10-21 15:42:24 | 显示全部楼层 |阅读模式

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

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

x
批量处理AWX数据,求方法,求教育!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-10-21 16:34:13 | 显示全部楼层
想要怎么处理?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-10-22 09:34:03 | 显示全部楼层

你好,我手上有AWX格式的云分类数据,想要读出某一格点的值,用fortran编的程序读出来有错,所以想用meteoinfo来批量处理,通过现实数据,然后另存为grd格式的。
1.jpg
3.jpg
4.jpg
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-10-22 10:30:55 | 显示全部楼层
yangmt 发表于 2014-10-22 09:34
你好,我手上有AWX格式的云分类数据,想要读出某一格点的值,用fortran编的程序读出来有错,所以想用mete ...

参考下面的demo脚本程序:
  1. #--------------------------------------------------------        
  2. # Author: Yaqiang Wang                                          
  3. # Date: 2014-10-22                                                
  4. # Purpose: Open and output AWX grid data  
  5. # Note: Sample                                                   
  6. #-----------------------------------------------------------
  7. import clr
  8. clr.AddReference("MeteoInfoC.dll")
  9. from MeteoInfoC import *
  10. from MeteoInfoC.Data import *
  11. from MeteoInfoC.Data.MeteoData import *
  12. import os.path
  13. import datetime

  14. #---- Set directories
  15. dataDir = "D:/Temp/FY"

  16. #---- Create a MeteoDataInfo object
  17. mdi = MeteoDataInfo()

  18. #---- Set start/end time
  19. stime = datetime.datetime(2011,8,8,8)
  20. etime = datetime.datetime(2011,8,8,9)

  21. #---- Loop
  22. while stime < etime:
  23.         fn = 'FY2E_PRE_003_OTG_' + stime.strftime('%Y%m%d_%H00') + '.AWX'
  24.         infn = os.path.join(dataDir, fn)
  25.         if os.path.exists(infn):
  26.                 print infn
  27.                 mdi.OpenAWXData(infn)
  28.                 gdata = mdi.GetGridData('var')
  29.                 outfn = infn.replace('.AWX', '.grd')
  30.                 gdata.SaveAsSurferASCIIFile(outfn)
  31.                
  32.        
  33.         stime = stime + datetime.timedelta(hours=1)

  34. print 'Finished!'


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

新浪微博达人勋

 楼主| 发表于 2014-10-22 13:29:02 | 显示全部楼层
MeteoInfo 发表于 2014-10-22 10:30
参考下面的demo脚本程序:

万分感谢,我先学习一下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-10-22 14:26:36 | 显示全部楼层
MeteoInfo 发表于 2014-10-22 10:30
参考下面的demo脚本程序:

为什么这一行总是报错呢 5.jpg
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-10-22 15:32:13 | 显示全部楼层
本帖最后由 MeteoInfo 于 2014-10-22 15:33 编辑
yangmt 发表于 2014-10-22 14:26
为什么这一行总是报错呢

哪来的那么多问号,全都删掉
或者用这个脚本文件。 demo_AWX.py (1.13 KB, 下载次数: 24)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-10-22 20:31:20 | 显示全部楼层
MeteoInfo 发表于 2014-10-22 15:32
哪来的那么多问号,全都删掉
或者用这个脚本文件。

谢谢版主,这回终于成功了,不用一个一个的苦逼保存了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-5-31 21:52:13 | 显示全部楼层
赞大牛!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-6-24 12:06:27 | 显示全部楼层
MeteoInfo 发表于 2014-10-22 10:30
参考下面的demo脚本程序:

王老师你好 我想要把micaps欧洲中心细网格数据插值到站点上,用meteoinfo按照您的方法可以处理出单个数据,现在是想要批处理,麻烦您指导指导,对meteoinfo的语句不了解。我现在有比如17071208.009 17071208.012 17071208.015 17071208.018 17071208.021 .......这样的很多数据。下面是我的脚本,怎样把数据批量读入,然后批量出结果呢,麻烦您指导一下。
# This Python file uses the following encoding: GB2312
#---- &#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;
import clr
clr.AddReferenceByPartialName("System")
clr.AddReferenceByPartialName("System.Windows.Forms")
clr.AddReferenceByPartialName("System.Drawing")
from System import *
from System.Windows.Forms import *
from System.Drawing import *
clr.AddReference("MeteoInfoC.dll")
from MeteoInfoC import *
from MeteoInfoC.Layout import *
from MeteoInfoC.Data import *

#---- &#65533;&#65533;&#65533;&#65533;·&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;
BaseDir = "C:\\Users\\dell\\Desktop\\ss\\MeteoInfo\\"
MapDir = "C:\\Users\\dell\\Desktop\\ss\\MeteoInfo\\Map\\"
LegendDir = "C:\\Users\\dell\\Desktop\\ss\\MeteoInfo\\Legend\\"
DataDir =  "C:\\Users\\dell\\Desktop\\ss\\"
OutDir = "C:\\Users\\dell\\Desktop\\ss\\"
#---- &#65533;&#65533;&#65533;&#65533;MIApp&#65533;&#65533;&#310;&#65533;&#65533;&#65533;
myApp = MIApp()
#---- &#65533;&#785080;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#316;&#65533;
df =  "C:\\Users\\dell\\Desktop\\ss\\EC-thin\\2T\\999\\17071208.000"
myApp.OpenMICAPSData(df)
#---- &#65533;&#65533;&#545;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#1145;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;
gData = myApp.GetGridData("var")
#---- &#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#47202;&#65533;&#65533;&#65533;&#1406;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#316;&#65533;
inf =  "C:\\Users\\dell\\Desktop\\ss\\aa.csv"
outf = "C:\\Users\\dell\\Desktop\\ss\\text.csv"
#---- &#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#1906;&#65533;&#1461;&#938;&#1406;&#65533;&#65533;&#65533;&#65533;&#65533;&#1891;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#938;&#65533;&#316;&#65533;
gData.ToStation(inf, outf)
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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