- 积分
- 55950
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-6-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 MeteoInfo 于 2018-1-14 22:27 编辑
格点数据插值到站点主要有两种方法:双线性插值和最近距离,算法都很简单,MeteoInfoLab中插值到站点有几种方法:(a)利用DimDataFile的tostation方法,(b)利用DimArray的tostation方法,(c)利用interp2d插值函数。推荐使用interp2d方法,该方法中的kind参数缺省为'linear'双线性插值,也可以设置为kind='neareast'最近距离插值(其实就是找离站点最近的格点将其值赋给站点)。
示例脚本:
- f = addfile('D:/Temp/GrADS/model.ctl')
- ps = f['PS'][0,'10:60','60:140']
- #Interpolate to a point
- x = 123
- y = 44.5
- z = None
- t = 0
- d = f.tostation('PS', x, y, z, t)
- d1 = ps.tostation(x, y)
- d2 = interp2d(ps, x, y)
- d3 = interp2d(ps, x, y, kind='neareast')
- print d
- print d1
- print d2
- print d3
- #Plot
- axesm()
- geoshow('country', edgecolor=(0,0,255))
- layer = scatterm(ps, fill=False, edgecolor='r')
- layer.addlabels('data', yoffset=15, decimals=2)
- scatterm(x, y, d, size=10, color='g')
- text(x + 0.3, y, '%.2f' % d)
- xlim(x - 6, x + 6)
- ylim(y - 5, y + 5)
- title('Grid to point interpolation')
|
|