【问题标题】:How to calculate SUN coordinates in ECEF (geocenter) frame?如何计算 ECEF(地心)框架中的太阳坐标?
【发布时间】:2020-12-10 16:05:18
【问题描述】:

我想找到 python 库,我可以在其中获得 ECEF(以地球为中心,以地球为固定)框架中的太阳坐标 - 地心坐标。我尝试使用 jplephem、pyephem 等,但没有一个可以提供这些坐标。请给我图书馆,算法等,我可以在其中获得这些坐标。 问候。

【问题讨论】:

    标签: coordinates pyephem sun


    【解决方案1】:

    您是正确的,这些库都没有快速支持 ECEF 参考框架,尽管它可以在 PyEphem 中通过在纬度 0° 和经度 0° 创建一个 Observer 来伪造,并且其高度足够负以放置它们在地球的中心。

    如果您对更现代的库感兴趣,新的 1.34 版本的 Skyfield 直接支持标准的 ITRS 参考框架,即 ECEF:

    from skyfield import framelib
    from skyfield.api import load
    
    ts = load.timescale()
    t = ts.now()
    
    planets = load('de421.bsp')
    sun = planets['sun']
    earth = planets['earth']
    
    apparent = earth.at(t).observe(sun).apparent()
    vector = apparent.frame_xyz(framelib.itrs)
    print(vector.au)
    

    结果:

    [-0.653207   -0.62839897 -0.38480108]
    

    您可以使用参考帧执行的操作在此处进行了更详细的说明:

    https://rhodesmill.org/skyfield/positions.html#coordinates-in-other-reference-frames

    【讨论】:

    • 非常感谢。今天我也找到了这个库并使用它。这个库非常有用,可以在 ECEF 中获取坐标 :-)
    • 我很高兴它成功了!如果您需要更多信息,请在接受此答案为正确之前告诉我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多