【问题标题】:Python interpolation of satellite ground tracks卫星地面轨迹的 Python 插值
【发布时间】:2014-11-21 14:10:40
【问题描述】:

我正在尝试插入以下卫星地面轨迹:

问题是 (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)

【问题讨论】:

    标签: python interpolation latitude-longitude satellite


    【解决方案1】:

    您不应该在 0 附近进行插值,因为卫星在两个非常不同的时间点存在。

    您应该将 360° 添加到数据的后半部分(可能对应于左上角的曲线),这样您就可以得到一条从大约 -30° 到 360° 的连续曲线。然后插值。然后进行反向操作:lon[lon>180] -= 360

    【讨论】:

    • 谢谢,这是一个很好的解决方案,但数据需要事先进行一些操作才能按照您的建议按象限进行拆分。
    【解决方案2】:

    作为替代方案,您也可以尝试将轨道分成两个不同的部分,并分别对它们进行插值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-09
      • 2018-10-27
      • 1970-01-01
      • 2013-02-08
      相关资源
      最近更新 更多