#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

#415 in Date and time

Download history 268/week @ 2024-07-22 419/week @ 2024-07-29 554/week @ 2024-08-05 477/week @ 2024-08-12 183/week @ 2024-08-19 271/week @ 2024-08-26 555/week @ 2024-09-02 179/week @ 2024-09-09 313/week @ 2024-09-16 204/week @ 2024-09-23 151/week @ 2024-09-30 134/week @ 2024-10-07 708/week @ 2024-10-14 208/week @ 2024-10-21 73/week @ 2024-10-28 243/week @ 2024-11-04

1,236 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