python - pyephem 计算仰角

标签 python pyephem satellite

我想使用 PyEphem 库根据特定观察者的功能轻松计算 python 中卫星的仰角。 这件事对我来说真的很新鲜,所以我使用下面的图片来确保我们在谈论同一件事。

enter image description here

简而言之,我必须为不同的观察者计算基于 TLE 的卫星通过,因为他们必须与之通信。但为确保他们能够与卫星通信,他们可以指定所需的最小仰角。

到现在为止,我能够计算卫星的下一次通过、卫星的高度(以米为单位)以及卫星与观察者之间的距离,这是我的代码(我知道我不是在计算距离在下一次传球的开始,但只是从一秒到另一秒):

#satellite
satellite = ephem.readtle(str1, str2, str3)

#observer
guy = ephem.Observer()
guy.lon, guy.lat = str(long), str(lat)
guy.date = datetime.datetime.now()

#next passes
next_pass = guy.next_pass(satellite)
print ("NEXT PASS: ", next_pass)
nb_passes = 250
previous_pass = next_pass

for i in range(0, nb_passes):
    #take satelite downset + 1 second and compute next pass
    guy.date = previous_pass[4].datetime() + datetime.timedelta(0, 1)
    np = guy.next_pass(satellite)
    print np
    #compute the satellite.range at the beginning of the pass
    guy.date = np[0].datetime()
    satellite.compute(guy)
    #elevation in meter
    print 'elevation satellite: ', satellite.elevation
    print 'distance staletlite to guy: ', satellite.range
    print 'elev guy: ', guy.elev
    print 'elevation guy: ', guy.elevation
    previous_pass = np

PyEphem 中有什么东西可以计算仰角吗? (我已经阅读了文档(不是全部)但我没有找到它)

在 2d 投影上,用正弦计算它应该很容易,因为我们有直角三角形,其对边(卫星的仰角)和斜边(观察者与卫星之间的距离)已知通行证)。但是我们在 3d 上,所以它是最复杂的。

你有计算它的简单方法吗?

最佳答案

如果您使用 .alt卫星询问它的高度角,那么您应该得到在您的图表中称为“海拔”的值:

print 'angle above the horizon:', satellite.alt

高度 alt 是一对坐标中的一个,另一个是 az 方位角。高度和方位角一起告诉观察者在他们上方的天空中看哪里。一些望远镜使用这个系统,被称为“经纬仪”望远镜。

这里令人困惑的是,地球卫星工程师社区选择了“海拔”这个词来表示卫星在地平线以上的度数,也许他们并不知道在科学领域,天文学家已经为卫星命名为“高度”那个角度。

有关天文高度和方位角的更多详细信息,请参阅:

https://en.wikipedia.org/wiki/Horizontal_coordinate_system

关于python - pyephem 计算仰角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32905998/

相关文章:

python - Pyephem:如何计算进入下一个星座的时间

python - pyephem 恒星时给出了意想不到的结果

python - 运行游戏时显示随机图像

kml - 使用 pyephem 检索的卫星轨迹的可视化已关闭

Python获取列表中元素的排名奇怪的行为

android - 使用卫星与 Android 手机进行双向通信

javascript - 谷歌地图 : change from map view to satellite view

卫星图像的图像处理

python - 在执行Python脚本时捕获键盘中断

python - 为什么在 python 中动态更改日志级别不起作用