Jia*_*aji 5 python interpolation numpy scipy
我想使用scipy.interpolate.SmoothSphereBivariateSpline 在地图上插值温度(我不熟悉数据插值,所以这可能不是一个好的选择,但我想试一试)。
这些是我所做的:
纬度 经度 温度 城市
30.22 120.14 39 2个洞穴
30.26 120.13 39 3个洞穴
30.23 120.13 39 安龙
33.48 108.5 30 安达
37.2 100.74 15 阿南
...
大熊猫
data = pandas.read_table('temp.tsv')
Run Code Online (Sandbox Code Playgroud)从 lat, lon 获取弧度:
theta = numpy.array(data.latitude) / 180 * numpy.pi # the lat, lon domain is safe here so
phi = numpy.array(data.longitude) / 180 * numpy.pi # I won't adjust for the output range
temp = numpy.array(data.temperature)
Run Code Online (Sandbox Code Playgroud)将它们输入 scipy:
lut = SmoothSphereBivariateSpline(theta, phi, temps)
Run Code Online (Sandbox Code Playgroud)然后函数抛出一个 ValueError:
ValueError: 所需存储空间超过可用存储空间:nxest 或 nyest 太小,或 s 太小。加权最小二乘样条对应于当前的节点集。
我试图用不同的值调整 s 参数,从 1、2、3 到 7000、8000,它只是太小了。我应该怎么做才能使插值工作?
| 归档时间: |
|
| 查看次数: |
680 次 |
| 最近记录: |