#sun #sunrise #position #sun-position

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

#449 in Date and time

Download history 545/week @ 2024-12-18 792/week @ 2024-12-25 1166/week @ 2025-01-01 858/week @ 2025-01-08 1293/week @ 2025-01-15 1049/week @ 2025-01-22 942/week @ 2025-01-29 862/week @ 2025-02-05 834/week @ 2025-02-12 109/week @ 2025-02-19 122/week @ 2025-02-26 100/week @ 2025-03-05 61/week @ 2025-03-12 30/week @ 2025-03-19 50/week @ 2025-03-26 293/week @ 2025-04-02

481 downloads per month

MIT license

17KB
344 lines

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);

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);
}

No runtime deps