我想跟踪日出和日落时间.在过去的几年里,我一直在用一个用我最喜欢的编程语言的流行库编写的小程序来做这件事.过去两个月我比往常更频繁地跟踪这些时间,我偶然注意到在春分日,日出时间比前一天增加了8分钟!我知道这是不可能的,并且与NOAA相比,发现我的上升和设定时间已经关闭了几天,事实上在一年中的大部分时间里似乎已经关闭了大约一分钟.
在这一点上,我想自己实现计算.有哪些算法或公式可用于此计算?
您可以考虑阅读Wikipedia关于日出方程的文章.主要段落给出了等式:
哪里:
ω Ô是时角在任日出(当负的值取)或日落(当正值取)的程度以度(°)
φ是地球上观测者的纬度(以度为单位)
δ是以度为单位的太阳赤纬
如果你想匹配NOAA,你必须咨询Jean Meeus的天文算法(主要是第15章).它很复杂!马丁贝克特是正确的,你必须定义日落.通常这是太阳上肢的明显上升或上升,这使得你的"标准"altitide -5/6度(不为零).并且您无法直接使用NOAA的准确度来计算日出或日落.你必须为所讨论的那天的明显右上升和下降创建一组控制方程,然后在一段时间内插入明显的右上升和下降,以找到标准高度的确切上升和设定时间.
希望这可以帮助.当我遇到同样的事情时,我花了大约一个月的时间消化AA并重新编写了我们所有的太阳能代码,并且仍然需要一年多的时间来解决我的代码破坏的一些极端情况.因此需要一些时间来弄明白.我不知道这个算法的任何公共代码示例,并且此刻没有任何共享,但如果可以,我很乐意帮助您解决一些令人头疼的问题.