加速SciPy Griddata功能

时间:2014-11-07 08:24:31

标签: python numpy scipy

我有3个numpy数组: X和Y是经度和纬度,Z是数字高程值。所有X,Y和Z都覆盖了RED多边形。

但是,当我按如下方式制作数据网格时,它会覆盖蓝色多边形。

x = X.ravel()
y = Y.ravel()
z = Z.ravel()

xi = np.linspace(np.min(x), np.max(x),  5000) #As you see the size of data are so large (5000 by 5000)
yi = np.linspace(np.max(y), np.min(y), 5000)

zi = griddata((x, y), z, (xi.reshape(1,-1), yi.reshape(-1,1)), method='nearest') #from 
scipy.interpolate import griddata

如何使其仅覆盖RED多边形?

enter image description here

计算也很慢,如果我只能在RED多边形内计算它也会更快。

1 个答案:

答案 0 :(得分:0)

  1. 慢,您正在5000x5000网格上插入数据。好。在什么设备上你要表示插值数据?这是努力吗?可能不是......
    1. 形状......这是一个黑暗中的镜头,但你的代码中的某个地方有可能忘记在球面上投射球面坐标吗? (也就是映射)---另一种可能性是你的数据是在通用的四边形中指定的,但是你用矩形z来绘制zi,在矩形网格上定义。这两种可能性并不矛盾。