scipy: ошибка Qhull при использовании билинейной интерполяции

Я интерполирую данные со спутниковых снимков. Мои исходные данные не на регулярной сетке. Данные, например ch1 относится к позициям, данным longitude а также latitude, Когда я пытаюсь выполнить интерполяцию ближайшего соседа, то получаю хороший результат.

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 - Python / SciPy (Интерполяция), но в моем случае он интерполирует данные одним методом, а не другим.

Что я делаю неправильно?

На изображении ниже я нанес на карту конечную точку (красный) и наложил начальные позиции (синий)

0 ответов

Другие вопросы по тегам