#sun #position #sunrise

suncalc

Calculate the position of the sun and sunlight phases

3 unstable releases

0.4.0 Oct 29, 2021
0.3.1 Oct 23, 2021
0.3.0 Oct 23, 2021

#377 in Date and time

Download history 193/week @ 2023-11-19 174/week @ 2023-11-26 239/week @ 2023-12-03 198/week @ 2023-12-10 170/week @ 2023-12-17 130/week @ 2023-12-24 143/week @ 2023-12-31 236/week @ 2024-01-07 193/week @ 2024-01-14 307/week @ 2024-01-21 149/week @ 2024-01-28 132/week @ 2024-02-04 169/week @ 2024-02-11 208/week @ 2024-02-18 176/week @ 2024-02-25 168/week @ 2024-03-03

754 downloads per month

MIT license

17KB
344 lines

sun

A rust port of the JS library suncalc, forked from the sun crate.

Features

  • Get sun position at a given time and position
  • Get sun phase times for a given location
  • Moon calculations

Install

Add the following to your Cargo.toml

[dependencies]
suncalc = "0.3"

Usage

pub fn main() {
  let unixtime = suncalc::Timestamp(1362441600000);
  let lat = 48.0;
  let lon = 9.0;
  let pos = suncalc::get_position(unixtime,lat,lon);
  let az  = pos.azimuth.to_degrees();
  let alt = pos.altitude.to_degrees();
  println!("The position of the sun is {}/{}", az, alt);
}

lib.rs:

The sun crate is a library for calculating the position of the sun. It is a port of the JavaScript library suncalc.

Example

let unixtime = suncalc::Timestamp(1362441600000);
let lat = 48.0;
let lon = 9.0;
let moon_pos = suncalc::get_position(unixtime,lat,lon);
let az  = moon_pos.azimuth.to_degrees();
let alt = moon_pos.altitude.to_degrees();
println!("The position of the sun is {}/{}", az, alt);

No runtime deps