#日落 #日出 #计算器 #时间戳 #坐标 #太阳 #时间

sunrise-sunset-calculator

Rust 的日出日落计算器,支持极地纬度

4 个版本 (2 个稳定版)

1.0.1 2023年5月29日
0.2.2 2022年6月26日
0.2.1 2021年11月13日
0.2.0 2021年9月26日
0.1.0 2021年8月8日

#145日期和时间

Download history 12/week @ 2024-03-11 11/week @ 2024-04-01 7/week @ 2024-04-08 1/week @ 2024-05-27 49/week @ 2024-06-10 8/week @ 2024-06-24

每月57次 下载

自定义许可

51KB
1.5K SLoC

Rust 日出日落计算器

Build status crates.io docs.rs

计算日出日落时间的 crate。

用法

let result = SunriseSunsetParameters::new(timestamp, latitude, longitude).calculate()?;

示例

$ cargo run --example sunrise-sunset-calculator -- lookup --location london

Using timestamp: 1628381118
Using coordinates: 51.5073219, -0.1276474
Visible: false
Sun set at:     2021-08-07 20:37 (+01:00)
Sun rises at:   2021-08-08 05:35 (+01:00)

实现细节

内部使用 NREL 的太阳位置算法(SPA)的移植版来计算给定时间的太阳高度角。接受 -2000 到 6000 年之间的日期。

我们使用 NOAA 对日出/日落时间的定义,即太阳中心在海拔 0.8333° 以下。然后使用区间二分法找到太阳高度角穿过这个边界的位置。

它可以在地球上的所有纬度上工作,尽管步长选项控制检测到的最短白天/夜晚长度,这是根据输入纬度配置的合理默认值。

许可

我所有的代码都是 LGPL,但这个包捆绑的 NREL 算法有自己的单独许可,因此请考虑这一点。

依赖关系

~300–760KB
~18K SLoC