scipy:使用双线性插值时出现Qhull错误

时间:2015-01-16 12:38:02

标签: python scipy interpolation qhull

我正在从卫星图像中插入数据。我的初始数据不在常规网格上。数据,例如ch1是指longitudelatitude给出的职位。当我尝试最近邻插值时,我得到的结果很好。

from scipy import interpolate

lats = np.arange(latitude.max(), latitude.min(),-.1)
lons = np.arange(longitude.min(),longitude.max(),.1)
all_lon,all_lat = np.meshgrid(lons,lats)

ch1_all = interpolate.griddata((longitude.reshape(-1),latitude.reshape(-1)),ch1.reshape(-1),(all_lon,all_lat),'nearest')    

然而,当我请求双线性插值时,我引发了Qhull错误。

ch1_all = interpolate.griddata((longitude.reshape(-1),latitude.reshape(-1)),ch1.reshape(-1),(all_lon,all_lat),'linear')

我得到的错误是:

Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
  File "C:\Python27\lib\site-packages\scipy\interpolate\ndgriddata.py", line 206, in griddata 
    rescale=rescale)
  File "interpnd.pyx", line 239, in scipy.interpolate.interpnd.LinearNDInterpolator.__init__ (scipy\interpolate\interpnd.c:4549)
  File "qhull.pyx", line 1736, in scipy.spatial.qhull.Delaunay.__init__ (scipy\spatial\qhull.c:13719)
  File "qhull.pyx", line 328, in scipy.spatial.qhull._Qhull.__init__ (scipy\spatial\qhull.c:3602)
QhullError: Qhull error

我已阅读griddata runtime error -- Python / SciPy (Interpolation)的帖子但在我的情况下,它使用一种方法插入数据,但不使用另一种方法插入数据。

我做错了什么?

在下图中,我绘制了最终点位置(红色)并覆盖了初始位置(蓝色)

enter image description here

0 个答案:

没有答案