我有一个包含lon;lat;depth
点的csv文件。我想将这些内插插入到常规网格中,并将结果保存为单波段(geo)栅格。我已经可以插入并在matplotlib中显示结果(但这并不是真的需要)。
import numpy as np
from scipy.interpolate import griddata
import matplotlib.pyplot as plt
import numpy.ma as ma
from numpy.random import uniform, seed
points = np.loadtxt('npcsv.csv',delimiter=";")
xi = np.linspace(589000,603500,1000)
yi = np.linspace(6965000,6980000,1000)
zi = griddata((points[:,0], points[:,1]), points[:,2], (xi[None,:], yi[:,None]), method='cubic')
CS = plt.contour(xi,yi,zi,1,linewidths=0.5,colors='k')
CS = plt.contourf(xi,yi,zi,2,cmap=plt.cm.jet)
plt.colorbar() # draw colorbar
plt.scatter(points[:,0],points[:,1],marker='o',c='b',s=5)
plt.xlim(589000,603500)
plt.ylim(6965000,6980000)
plt.title('mydiagram')
plt.show()
有没有办法可以直接将griddata
或zi
写入例如print
或zi
。 .tiff文件?当我NaN,NaN,.....
main
时,它只给了我一个.a
的numpy数组。我在gist上有简化的文件:https://gist.github.com/willemvanopstal/a92b1b302870855c5fecb3c4e0b54b85