Я пытаюсь сопоставить набор данных с нерегулярной сеткой (необработанные спутниковые данные) с соответствующими широтами и долготами в набор широт и долгот с регулярной сеткой, заданный функцией 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 предполагают, что я делаю что-то глупое ...