当前位置:  开发笔记 > 编程语言 > 正文

如何计算日出/日落时间?

如何解决《如何计算日出/日落时间?》经验,为你挑选了2个好方法。

我想跟踪日出和日落时间.在过去的几年里,我一直在用一个用我最喜欢的编程语言的流行库编写的小程序来做这件事.过去两个月我比往常更频繁地跟踪这些时间,我偶然注意到在春分日,日出时间比前一天增加了8分钟!我知道这是不可能的,并且与NOAA相比,发现我的上升和设定时间已经关闭了几天,事实上在一年中的大部分时间里似乎已经关闭了大约一分钟.

在这一点上,我想自己实现计算.有哪些算法或公式可用于此计算?



1> 小智..:

您可以考虑阅读Wikipedia关于日出方程的文章.主要段落给出了等式:

哪里:

ω Ô是时角在任日出(当负的值取)或日落(当正值取)的程度以度(°)

φ是地球上观测者的纬度(以度为单位)

δ是以度为单位的太阳赤纬


如果OP关注1分钟的差异,那么你必须比球形地球近似做得更好

2> mattexx..:

如果你想匹配NOAA,你必须咨询Jean Meeus的天文算法(主要是第15章).它很复杂!马丁贝克特是正确的,你必须定义日落.通常这是太阳上肢的明显上升或上升,这使得你的"标准"altitide -5/6度(不为零).并且您无法直接使用NOAA的准确度来计算日出或日落.你必须为所讨论的那天的明显右上升和下降创建一组控制方程,然后在一段时间内插入明显的右上升和下降,以找到标准高度的确切上升和设定时间.

希望这可以帮助.当我遇到同样的事情时,我花了大约一个月的时间消化AA并重新编写了我们所有的太阳能代码,并且仍然需要一年多的时间来解决我的代码破坏的一些极端情况.因此需要一些时间来弄明白.我不知道这个算法的任何公共代码示例,并且此刻没有任何共享,但如果可以,我很乐意帮助您解决一些令人头疼的问题.


@matexx代码在http://www.srrb.noaa.gov/highlights/sunrise/sunrise.html上.它只是javascript,所以`view source`会显示一切.
推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有