Как рассчитать восход и заход солнца для текущей даты с Delphi

Мне нужно определить время восхода и захода солнца (местное время) для текущего дня с учетом определенной широты и долготы и с помощью Delphi (я использую XE2). Я нашел в этой статье и используется библиотека SysTools но результаты не согласуются с опубликованными таблицами для Великобритании.

кто-нибудь видел алгоритм Паскаля для этого?

3 ответов



здесь вы можете найти некоторые реализации в c, C++, pascal и других:

http://www.sci.fi / ~benefon/stuff.html

для Паскаля вы можете пойти здесь:

http://www.sci.fi ~ benefon / воскресенье.PAS

кроме того, вы учитываете летнее время?

другой ссылке можно найти полезные есть:

http://www.delphiarea.com/products/delphi-components/suntime/

Это компонент для расчета восхода и захода солнца.

надеюсь, это поможет вам.


какие времена вам нужны? Существует несколько определений для "подъема" и "заката" (т. е. гражданского, морского, астрономического). При сравнении с опубликованными таблицами вам также необходимо знать, как были рассчитаны эти таблицы (геоцентрическая позиция или нет, стандартное время или истинное местное время и т. д.) и какой результат дают используемые алгоритмы. Есть также некоторые аппроксимированные алгоритмы, использующие всего несколько терминов и более точный, используя гораздо больше. Кроме того, имейте в виду плавающую точку IEEE проблемы, в некоторых ситуациях они могут значительно снизить точность.

одним из лучших источников для таких алгоритмов является Jean Meeus' астрономические алгоритмы (1998), 2-е издание