任何人都知道可以为任何给定日期和任何给定纬度/经度提供太阳和月亮升起/落下时间的 Web 服务或 .NET 类库?
提前致谢。
是的 - CodeProject 的SunTime 课程可能会有所帮助!
看看ASCOM 倡议。这是微软的World Wide Telescope用来控制望远镜的技术。在 ASCOM 平台的 5.5 版中,我们刚刚引入的新组件之一是NOVAS库的 .NET 接口,它为您提供了大量矢量天体测量例程和用于在太阳系上进行位置天体测量的开普勒轨道引擎身体。
我不认为有一个函数可以直接为您提供日出/日落,但它会为您提供计算这些所需的所有构建块以及更多。
所有这些也是开源的。原始的 NOVAS 例程可从上面链接的美国海军天文台站点获得,包括 FORTRAN 和 C。ASCOM 源代码可从我们的 subversion 服务器获得。
此外,还有一个星历表,这可能是您正在寻找的,因为这是终极天文学家编程工具包?几年前我用VB6做了一个占星程序时做了一个微弱的尝试,它产生了一个很好的十二宫星座的报告,但当时无法绘制星星生日/时间输入足够准确。
希望这会有所帮助,最好的问候,汤姆。
CoordinateSharp非常适合这一点,而且非常易于使用。
using CoordinateSharp;
//Seattle on 5-Jun-2018 @ 10:10
Coordinate c = new Coordinate(47.6062, -122.3321, new DateTime(2018,6,5,10,10,0));
Console.WriteLine(c.CelestialInfo.SunSet); // 5-Jun-2018 4:02:00 AM
它可以做太阳和月球时间,包括日食。