我是业余Python用户,所以请耐心等待。我目前有一个200x200的雷达反射率值阵列,其尺寸对应于x和y值(km)的1d阵列,范围从-180到180.我的目标是执行圆柱/极坐标插值关于这些数据,我可以适当地创建一个极地情节。
我已经完成了以下操作,但由于某些奇怪的原因, griddata()不返回任何值,我不确定原因。如果有人有任何建议,我将不胜感激。
data = [nan, nan, nan,...
10.1, 10.5, nan,..] # 200x200 array
x = [-180, -160,...160,180] # 200 x 1 array
y = [-180, -160,...160,180] # 200 x 1 array
"""create arrays of radius and theta"""
r = np.linspace(0,150,100)
theta = np.linspace(0,360,100)
""" convert r and theta to Cartesian points"""
x = r*np.cos(theta*(math.pi/180))
y = r*np.sin(theta*(math.pi/180))
import scipy as sc
from scipy import interpolate
from scipy.interpolate import griddata
"""cylindrical interpolation"""
data_cylin = griddata((x_km, y_km), dbz_2km_2052t,(x,y), method='linear',fill_value=0)
返回
data_cylin = [0.0, 0.0...0.0].
我还尝试创建一个r和theta的网格网格以用于插值,但这只会为无法创建极坐标图的数据创建一个3D数组。
再次感谢您的时间!