我正在尝试插入以下卫星地面轨迹:
问题在于(lon,lat)—>;(0,0)处的不连续性,这导致该区域的拟合曲线不佳:
我不确定参数插值是否是最佳方法,因为我刚刚应用了线性插值:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import interpolate
df = pd.read_table('groundtracks', sep='\t')
x = df['lon']
y = df['lat']
f = interpolate.interp1d(x, y, kind='linear')
xnew = np.linspace(x.min(), x.max(), num=x.count()*2)
ynew = f(xnew)
作为一种替代方法,您也可以尝试将轨迹分成两个不同的两半,然后分别对它们进行插值。
你不应该在0附近插值,因为卫星在两个非常不同的时间点。
您应该将360°添加到数据的后半部分(可能与左上角的曲线相对应),这样就可以得到从-30°到360°的连续曲线。然后插值。然后执行反向操作:
lon[lon>180] -= 360
。相关问题 更多 >
编程相关推荐