Python 有没有一种方法可以计算天空中的过境时间?

Python 有没有一种方法可以计算天空中的过境时间?,python,astronomy,skyfield,Python,Astronomy,Skyfield,Skyfield目前提供了一种计算物体上升和下降时间的方法。它是否提供了一种计算尸体运输时间的方法?编辑:是!Skyfield现在直接支持transits,如其文档的新部分所述: 示例脚本: from skyfield import api from skyfield import almanac bluffton = api.Topos('40.8939 N', '83.8917 W') ts = api.load.timescale() t0 = ts.utc(2020, 11, 6)

Skyfield目前提供了一种计算物体上升和下降时间的方法。它是否提供了一种计算尸体运输时间的方法?

编辑:是!Skyfield现在直接支持transits,如其文档的新部分所述:

示例脚本:

from skyfield import api
from skyfield import almanac

bluffton = api.Topos('40.8939 N', '83.8917 W')

ts = api.load.timescale()
t0 = ts.utc(2020, 11, 6)
t1 = ts.utc(2020, 11, 7)

eph = api.load('de421.bsp')
f = almanac.meridian_transits(eph, eph['Mars'], bluffton)
t, y = almanac.find_discrete(t0, t1, f)

print(t.utc_strftime('%Y-%m-%d %H:%M'))
print(y)
print([almanac.MERIDIAN_TRANSITS[yi] for yi in y])
其输出:

['2020-11-06 03:32', '2020-11-06 15:30']
[1 0]
['Meridian transit', 'Antimeridian transit']

编辑:是!Skyfield现在直接支持transits,如其文档的新部分所述:

示例脚本:

from skyfield import api
from skyfield import almanac

bluffton = api.Topos('40.8939 N', '83.8917 W')

ts = api.load.timescale()
t0 = ts.utc(2020, 11, 6)
t1 = ts.utc(2020, 11, 7)

eph = api.load('de421.bsp')
f = almanac.meridian_transits(eph, eph['Mars'], bluffton)
t, y = almanac.find_discrete(t0, t1, f)

print(t.utc_strftime('%Y-%m-%d %H:%M'))
print(y)
print([almanac.MERIDIAN_TRANSITS[yi] for yi in y])
其输出:

['2020-11-06 03:32', '2020-11-06 15:30']
[1 0]
['Meridian transit', 'Antimeridian transit']

你可以在地形观测物体的高度上寻找局部最大值。

你可以在地形观测物体的高度上寻找局部最大值。

一个快速的技术评论:只有当物体的赤纬速度为零时,最高高度的时刻才会与子午线过境的时刻完全一致。但除此之外,预计会有一个小的差异——例如,如果物体的磁偏角在增加,那么即使经过子午线,它的高度也会在短时间内继续增加。这就是为什么我们向布兰登支付大笔费用的原因;)一个快速的技术评论:只有当物体的赤纬速度为零时,最高高度的时刻才会与子午线经过的时刻完全一致。但除此之外,预计会有一个小的差异——例如,如果物体的磁偏角在增加,那么即使经过子午线,它的高度也会在短时间内继续增加。这就是为什么我们向布兰登支付大笔费用的原因;)