matplotlib.mlab.griddata очень медленный и возвращает массив nan при вводе правильных данных
Я пытаюсь сопоставить набор данных с нерегулярной сеткой (необработанные спутниковые данные) с соответствующими широтами и долготами с набором широт и долгот с регулярной сеткой, заданнымbasemap.makegrid()
, Я используюmatplotlib.mlab.griddata
с участиемmpl_toolkits.natgrid
установлен. Ниже приведен список переменных, используемых в качестве выводаwhos
в ipython и немного статистики по переменным:
Variable Type Data/Info
-------------------------------
datalat ndarray 666x1081: 719946 elems, type `float32`, 2879784 bytes (2 Mb)
datalon ndarray 666x1081: 719946 elems, type `float32`, 2879784 bytes (2 Mb)
gridlat ndarray 1200x1000: 1200000 elems, type `float64`, 9600000 bytes (9 Mb)
gridlon ndarray 1200x1000: 1200000 elems, type `float64`, 9600000 bytes (9 Mb)
var ndarray 666x1081: 719946 elems, type `float32`, 2879784 bytes (2 Mb)
In [11]: var.min()
Out[11]: -30.0
In [12]: var.max()
Out[12]: 30.0
In [13]: datalat.min()
Out[13]: 27.339874
In [14]: datalat.max()
Out[14]: 47.05302
In [15]: datalon.min()
Out[15]: -137.55658
In [16]: datalon.max()
Out[16]: -108.41629
In [17]: gridlat.min()
Out[17]: 30.394031556984299
In [18]: gridlat.max()
Out[18]: 44.237140350357713
In [19]: gridlon.min()
Out[19]: -136.17646180595321
In [20]: gridlon.max()
Out[20]: -113.82353819404671
datalat
а такжеdatalon
координаты данных оригинала
gridlat
а такжеgridlon
координаты для интерполяции
var
содержит фактические данные
Используя эти переменные, когда я звонюgriddata(datalon, datalat, var, gridlon, gridlat)
это заняло до 20 минут и возвращает массивnan
, При просмотре данных широта и долгота кажутся правильными: исходные координаты перекрывают часть новой области и несколько точек данных, лежащих за пределами новой области. У кого-нибудь есть предложения? Значения Nan предполагают, что я делаю что-то глупое ...