Как рассчитать время восхода и захода солнца для текущей даты с Delphi
Мне нужно определить время восхода и захода солнца (местное время) для текущего дня с учетом конкретной широты и долготы и использования Delphi (я использую XE2). Я нашел эту статью и использовал библиотеку SysTools, но результаты не согласуются с опубликованными таблицами для Великобритании.
Кто-нибудь видел алгоритм паскаля для этого?
3 ответа
Несколько случайных сайтов:
Здесь вы можете найти некоторые реализации в c, C++, pascal и других:
http://www.sci.fi/~benefon/stuff.html
Для паскаля вы можете пойти сюда:
http://www.sci.fi/~benefon/SUNDAY.PAS
Кроме того, вы принимаете во внимание летнее время?
Еще одна полезная ссылка:
http://www.delphiarea.com/products/delphi-components/suntime/
Это компонент для расчета времени восхода и захода солнца.
Надеюсь, это поможет вам.
Какие времена вам нужны? Есть несколько определений для "восхода" и "заката" (то есть гражданское, морское, астрономическое). При сравнении с опубликованными таблицами вам также необходимо знать, как были рассчитаны эти таблицы (геоцентрическое положение или нет, стандартное время или истинное местное время и т. Д.) И какой результат дают вам используемые алгоритмы. Есть также некоторые приближенные алгоритмы, использующие всего несколько терминов, и более точный, использующий гораздо больше. Также имейте в виду проблемы с плавающей точкой IEEE, в некоторых ситуациях они могут сильно снизить точность.
Один из лучших источников для таких алгоритмов - Астрономические Алгоритмы Жана Миуса (1998), 2-е издание