爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: MeteoInfo

格点插值为站点数据批量处理

  [复制链接]

新浪微博达人勋

发表于 2020-10-16 21:07:37 | 显示全部楼层
王老师,您好,我有个疑问想请教您一下!请问通过双线性方法插值成站点数据的时候,是插值最靠近该站点四周的格点数据得到的嘛?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-10-16 22:46:05 | 显示全部楼层
sfz13851581045 发表于 2020-10-16 21:07
王老师,您好,我有个疑问想请教您一下!请问通过双线性方法插值成站点数据的时候,是插值最靠近该站点四周 ...

是的
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-10-16 23:10:07 | 显示全部楼层
感谢王老师的解惑
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-10-30 18:11:48 | 显示全部楼层
脚本太棒了,很实用,请问王老师,在保存 table data 的时候可以设置数据的保存格式嘛?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-10-31 10:45:55 | 显示全部楼层
sfz13851581045 发表于 2020-10-30 18:11
脚本太棒了,很实用,请问王老师,在保存 table data 的时候可以设置数据的保存格式嘛?

savefile函数有 date_format 和 float_format 参数可以设置数据格式。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-2-26 16:43:38 | 显示全部楼层
本帖最后由 upuil 于 2021-2-26 16:57 编辑
王老师,请问下面的报错该怎么解决呢?
  1. >>> run script...
  2. Traceback (most recent call last):
  3.   File "D:\interplation.py", line 17, in <module>
  4.     ps_st = ps.tostation(x,y)
  5.   File "D:\MeteoInfo_2.4.5\MeteoInfo\pylib\mipylib\numeric\core\dimarray.py", line 1160, in tostation
  6.     r = gdata.data.toStation(x.aslist(), y.aslist())
  7.         at org.meteoinfo.data.GridData.toStation(GridData.java:639)

  8.         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

  9.         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)

  10.         at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

  11.         at java.base/java.lang.reflect.Method.invoke(Method.java:564)

  12. java.lang.ClassCastException: java.lang.ClassCastException: class java.lang.String cannot be cast to class java.lang.Number (java.lang.String and java.lang.Number are in module java.base of loader 'bootstrap')
  13. >>>
复制代码

代码是这样的:
  1. #Open station file as table data
  2. stdata = readtable('D:/stations.txt', delimiter=' ')
  3. x = stdata['lon']
  4. y = stdata['lat']
  5. #Add data file
  6. f = addfile('D:/2019070103.nc')
  7. #Get data variable
  8. psv = f['T2']
  9. #Get time dimension length
  10. tn = psv.dimlen(0)
  11. #Loop
  12. for i in range(0, tn):
  13.     #Get dimension array
  14.     ps = psv[i,:,:]
  15.     #Interpolate to stations
  16.     #ps_st = ps.tostation(x, y)
  17.     ps_st = ps.tostation(x,y)
  18.     #Add column to table data
  19.     colname = 'T2' + str(i)
  20.     stdata.addcol(colname, '%d', ps_st)

  21. #Save table data to a file
  22. fn = 'D:/test_st.csv'
  23. stdata.savefile(fn)
  24. print 'Finish...'
复制代码
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-2-26 17:11:50 | 显示全部楼层
upuil 发表于 2021-2-26 16:43
本帖最后由 upuil 于 2021-2-26 16:57 编辑
王老师,请问下面的报错该怎么解决呢?

readtable函数加上format参数,比如format='%2f'指数据中前两列是float类型,具体如何加format要根据数据文件的情况。不加format确实读出来的数组都是字符串类型。

stdata = readtable('D:/station.txt', format='%2f')
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-2-26 17:20:36 | 显示全部楼层
MeteoInfo 发表于 2021-2-26 17:11
readtable函数加上format参数,比如format='%2f'指数据中前两列是float类型,具体如何加format要根据数据 ...

王老师 刚那个问题解决了,谢谢您,又出现一个新问题,麻烦您再看一下!
  1. >>> run script...
  2. Traceback (most recent call last):
  3.   File "D:\interplation.py", line 22, in <module>
  4.     stdata.addcol(colname, '%d', ps_st)
  5.   File "D:\MeteoInfo_2.4.5\MeteoInfo\pylib\mipylib\numeric\core\mitable.py", line 297, in addcol
  6.     self.data.addColumn(index, colname, dtype)
  7. TypeError: addColumn(): 1st arg can't be coerced to int
复制代码
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-2-26 17:22:45 | 显示全部楼层
upuil 发表于 2021-2-26 17:20
王老师 刚那个问题解决了,谢谢您,又出现一个新问题,麻烦您再看一下!

这里stdata.addcol(colname, '%d', ps_st) ,%d该怎么选呢,我试了%s,%f还是一样报错!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-2-27 08:54:43 | 显示全部楼层
upuil 发表于 2021-2-26 17:22
这里stdata.addcol(colname, '%d', ps_st) ,%d该怎么选呢,我试了%s,%f还是一样报错!

addcol 改为  addcoldata
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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