Я работал с формулой восхода и захода солнца, используя уравнения из Википедии . Проблема в том, что при моем использовании кажется, что это работает только для уровня моря; если я начну с координат, соответствующих любой точке над уровнем моря (или ниже, если на то пошло), он все равно выведет восход и закат для моих координат на уровне моря.
Например, сегодня (21 января 2018 г.) в Денвере, штат Колорадо (примерно 1 миля над уровнем моря), восход солнца был в 07:15:28. Тем не менее, мои уравнения продолжают давать 07:15:41, что точно соответствует цели, когда Денвер находился на уровне моря. Как я могу объяснить тот факт, что восход солнца на более высоких высотах происходит раньше, чем на более низких высотах с теми же координатами?
Сами по себе возвышенности не меняют время восхода солнца.
Горизонт на уровне моря составляет 90 градусов от зенита. Горизонт в Денвере по-прежнему находится под углом 90 градусов к зениту, если предположить, что земля «плоская». Другими словами, даже если вы находитесь на высоте 1 мили в Денвере, вы не можете видеть горизонт на высоте 0 миль.
Если вы находитесь на холме или горе и смотрите вниз так, что дальний горизонт находится более чем на 90 градусов от зенита, то восход произойдет рано. Если вы находитесь в долине и солнце встает за холмом или горой, оно встает позже.
Итак, вам нужно знать высоту наблюдателя и горизонт (или препятствия). Из этого вы можете вычислить высоту неба в этом направлении. Отсюда можно рассчитать время подъема.
(редактировать 24 января) Для точек, которые находятся близко друг к другу, можно использовать простую тригонометрию.
Для более удаленных точек с широтой (lat) и долготой (long) нахождение сторон и углов треугольника дает приближенное решение. (Я уверен, что существуют более точные формулы, учитывающие форму Земли.) Из рисунка ниже видно, что
пользователь21
DonielF
пользователь21