Меня попросили найти способ рассчитать количество времени, которое занимает полет в ночное время.
Пока у меня есть широта и долгота вылета и время взлета, широта и долгота прибытия и время посадки. Я могу легко рассчитать время заката и восхода солнца в месте отправления и в месте прибытия. Но я не знаю, как поступить, чтобы узнать, в какой момент полета восход и заход солнца произойдет в том месте, где в этот момент находится самолет.
Я просто прошу совета, как решить эту проблему.
PS: расчет не обязательно должен быть очень точным, и оценки более чем достаточно. Мы просто ищем самое простое решение для получения приемлемого результата.
Ответ на этот вопрос включает довольно много сферической тригонометрии . Вызов долгота и широта места отправления и координаты пункта назначения. Предположим, что самолет движется по большому кругу. Тогда он пройдет полный угол , заданный
Если мы знаем Грин, что означает солнечное время в момент отправления, то можно получить часовой угол Солнца в :
Высота Солнца над местным горизонтом тогда
Одним из вариантов было бы построить курс полета в виде набора дискретных точек и проверить, день сейчас или ночь в каждой точке пути, чтобы определить, когда полет входит / выходит из тени Земли. Точность будет ограничена размером вашего приращения времени, но выполнение проверки один раз в минуту на компьютере не должно быть проблемой.
Для получения высокоточного результата вам нужно программировать в реальных коридорах полета; но для грубой оценки в большинстве случаев будет достаточно кратчайшего прямого маршрута.
Аганджу