elevation
наблюдателя означает высоту над уровнем моря их местоположения - например, высоту Флагстаффа, штат Аризона. Но предполагается, что не только наблюдатель и его телескоп или бинокль находятся на этом расстоянии над уровнем моря; предполагается, что земля - и, следовательно, горизонт - также и на этой высоте. Таким образом, увеличение elevation
не дает вам никакого преимущества по отношению к горизонту, потому что горизонт перемещается вместе с вами, когда вы переезжаете в город на большой высоте.
Через несколько минут с карандашом и желтым блокнотом бумага выглядит как угол вниз до горизонта hza
связан с радиусом Земли r
и вашей высотой над землей h
следующим образом:
hza = - acos(r / (h + r))
Итак, следуя приведенному выше примеру:
import math
height = 10000
hza = - math.acos(ephem.earth_radius / (height + ephem.earth_radius))
emphemObj.horizon = hza
print "Sunrise time @ 10000m: " + str(emphemObj.previous_rising(ephemResult))
Я получаю вывод:
Sunrise time @ 10000m: 2011/8/8 04:08:18
(Обратите внимание, что "восход" идет с previous_rising()
, а "закат" идет с next_setting()
!)