Как рассчитать время рассвета / заката - PullRequest
5 голосов
/ 09 апреля 2010

В настоящее время я использую этот код для расчета времени восхода / захода солнца. (Точнее, я ищу гражданские времена рассвета / гражданского заката, которые определяются как время, когда Солнце находится на высоте от 0 ° до -6 °). В качестве следующего шага я хотел бы рассчитать время начала рассвета и заката. Я считаю, что расчеты должны быть очень похожи.

Моя идея заключается в том, что если я хочу вычислить время начала рассвета (окончания заката) для места, я просто вычисляю время восхода (заката) для места на 6 ° дальше к востоку (западу).

Может кто-нибудь подтвердить это предположение, или я ошибаюсь?

Спасибо за ответы!

- Ry

РЕДАКТИРОВАТЬ: подумал об этом немного больше и пришел к выводу, что мое предположение неверно. Перемещение на 6 ° к востоку неверно, перемещение на 6 °, ортогональное к свету / теневой границе, будет правильным. (Это становится очевидным, если представить, что ось Земли наклонена не на 23.xx °, а на 90 ° - движение на восток ничего не изменит).

Ответы [ 4 ]

2 голосов
/ 09 апреля 2010

У меня нет комментариев к вашему коду, но вы можете использовать следующий сайт, чтобы проверить вывод вашей программы: http://aa.usno.navy.mil/data/docs/RS_OneYear.php

2 голосов
/ 09 апреля 2010

Код, на который вы ссылаетесь, использует константу (90.833) в методах calcHourAngle*. Если вы посмотрите на эти определения восхода / захода солнца, вы заметите ту же самую константу 90,833 в разделе «Технические определения и детали вычислений». Чуть дальше, под гражданскими сумерками, используется аналогичная константа 96. Возможно, изменение этой константы получит то, что вы ищете?

0 голосов
/ 09 апреля 2010

Это не работает. Простой способ доказать это самому себе состоит в том, что на полюсах высота солнца не меняется при вращении тела, поэтому движение на восток или запад на 6 градусов не повлияет на ваше время.

Если вы ближе к экватору, этот расчет, вероятно, будет более точным, но я не думаю, что он когда-либо будет идеальным.

0 голосов
/ 09 апреля 2010

Это работает, но только если можно предположить, что высота незначительна. В зависимости от того, насколько точным вы должны быть, кто-то на высокой вершине горы будет испытывать восход (или закат) немного раньше (или после) кого-либо на уровне моря. Например, если вы стоите на горе Эверест, восход и заход солнца смещены на ~ 16 минут относительно уровня моря (источник: задняя часть математики конверта).

Обратите внимание, что чем шире ваша широта, тем резче контраст между длинными летними днями и длинными зимними ночами. Некоторые места на Земле получают солнечный свет все 24 часа дня летом и окутаны тьмой все 24 часа ночи. В этих местах нет ежедневного «рассвета» или «заката», хотя вы можете выбрать время между посередине, когда солнце находится низко и высоко в небе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...