Вычисление восхода и захода солнца на самом деле является очень сложной проблемой, и большинство библиотек, претендующих на это, используют слишком простые модели солнечной системы, которые на самом деле не дают точных результатов.
Орбиты Земли вокруг Солнца и Луны вокруг Земли нерегулярны, ось вращения Земли колеблется двумя различными способами (прецессия и нутация), и временные шкалы, используемые астрономами, не согласуются с согласованными всемирное время (UTC). Кроме того, атмосферная рефракция искажает воспринимаемое положение небесных тел (особенно вблизи горизонта); восход и заход Солнца и Луны обычно определяются первым появлением диска над горизонтом, а не прохождением центра диска; и воспринимаемый размер диска изменяется с течением времени в зависимости от его расстояния от наблюдателя.
Мне нужен был точный расчет этого для проекта, над которым я работал, и написал для этого библиотеку, которая включает в себя все современные модели.
Мы также предлагаем для этого веб-API, и веб-API, и библиотеку Java можно найти по адресу:
http://askgeo.com/
Этот сайт также предлагает много другой информации, которая зависит от широты и долготы. Подробнее о библиотеке вы можете прочитать здесь:
http://askgeo.com/database/Astronomy
Библиотека и веб-API являются коммерческими, но мы предоставляем бесплатный доступ к веб-API для квалифицированных некоммерческих организаций, исследователей и проектов с открытым исходным кодом. Для коммерческих пользователей информация о ценах:
http://askgeo.com/#pricing
Библиотека, которая дает восход и закат (среди прочего), является "Астрономической" в списке.