爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 45495|回复: 38

[求助] 插值结果惨不忍睹

[复制链接]

新浪微博达人勋

发表于 2014-4-2 14:51:26 | 显示全部楼层 |阅读模式

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

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

x
求大神们介绍一下有效的python插值方法,我想用站点数据插值成网格数据,但生成的数据一看就知道是错的,偏差了几百倍。首先用的站点是全国的:

test_streamplot_2D.png


以下是我的代码:


inter=interpolate.interp2d(lon,lat,T,kind='cubic',bounds_error=True)#其中lon、lat是各个站点对应经纬度,T是各个站点温度值

lons=np.arange(76,131);lats=np.arange(17,51)#预期网格的经纬度取值范围
Tinter=inter(lons,lats)#插值生成经网格数据,Tinter是插值温度网格数据

运行之后,提示有问题:


Warning:     A theoretically impossible results when finding a smoothin spline    with fp = s. Probably causes: s too small or badly chosen eps.    (abs(fp-s)/s>0.001)        kx,ky=3,3 nx,ny=30,31 m=753 fp=1086.076108 s=0.000000


然后我再看生成的数据,都傻眼了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-2 15:00:15 | 显示全部楼层
先不说哪种插值方法,既然是站点温度,就必须要考虑高程影响,结果才是合理的。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-2 15:12:55 | 显示全部楼层
longlivehj 发表于 2014-4-2 15:00
先不说哪种插值方法,既然是站点温度,就必须要考虑高程影响,结果才是合理的。

呃,高程影响?怎么设置啊?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-2 15:23:59 | 显示全部楼层
po_po1 发表于 2014-4-2 15:12
呃,高程影响?怎么设置啊?

按气温直减率对插值结果进行补偿,要用到dem。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-2 19:23:38 | 显示全部楼层
longlivehj 发表于 2014-4-2 15:23
按气温直减率对插值结果进行补偿,要用到dem。

大神再详细些?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-2 19:26:22 | 显示全部楼层
@阿阿飞飞
大神有没有什么方法?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-3 15:55:37 | 显示全部楼层
po_po1 发表于 2014-4-2 19:23
大神再详细些?

假设,待插格点温度需要由周围n个站点温度插值得到,先根据待插个点与n个站点的高程差,将n个站点的温度换算到与待插格点高度相同时的值,然后再进行插值。温度换算就用气温直减率,没升高1m,温度降低0.0065度。
大概就这个意思。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-3 15:55:47 | 显示全部楼层
po_po1 发表于 2014-4-2 19:23
大神再详细些?

假设,待插格点温度需要由周围n个站点温度插值得到,先根据待插个点与n个站点的高程差,将n个站点的温度换算到与待插格点高度相同时的值,然后再进行插值。温度换算就用气温直减率,没升高1m,温度降低0.0065度。
大概就这个意思。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-3 20:58:58 | 显示全部楼层
longlivehj 发表于 2014-4-3 15:55
假设,待插格点温度需要由周围n个站点温度插值得到,先根据待插个点与n个站点的高程差,将n个站点的温度 ...

能不能提供些具体的公式或详细的程序内容噢?这么说我也不知道怎么做
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-18 23:25:24 | 显示全部楼层
本帖最后由 burf 于 2014-4-18 23:32 编辑

最近我也在研究python画站点图。。。尝试了matplotlib的griddata和scipy.interpolate的griddata,前者插值效果相当恶心就不说了,后者插值出来图很奇怪。。。为什么是斜的
figure_1.png
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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