diff --git a/README.md b/README.md index 9d3830fa..69e78648 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,13 @@ Beaivi ======= -[![Build Status](https://travis-ci.org/mourner/suncalc.svg?branch=master)](https://travis-ci.org/mourner/suncalc) +[![Node.js CI](https://github.com/Glatek/beaivi/actions/workflows/nodejs.yml/badge.svg)](https://github.com/Glatek/beaivi/actions/workflows/nodejs.yml) -SunCalc is a tiny BSD-licensed JavaScript library for calculating sun position, +Beaivi is a tiny BSD-licensed JavaScript library for calculating sun position, sunlight phases (times for sunrise, sunset, dusk, etc.), -moon position and lunar phase for the given location and time, -created by [Vladimir Agafonkin](http://agafonkin.com/en) ([@mourner](https://github.com/mourner)) -as a part of the [SunCalc.net project](http://suncalc.net). +moon position and lunar phase for the given location and time. + +The original code is from [SunCalc](https://github.com/mourner/suncalc) created by [Vladimir Agafonkin](http://agafonkin.com/en) ([@mourner](https://github.com/mourner)) as a part of the [SunCalc.net project](http://suncalc.net). This repo has updated to code to add types and ES modules. Most calculations are based on the formulas given in the excellent Astronomy Answers articles about [position of the sun](http://aa.quae.nl/en/reken/zonpositie.html) @@ -20,36 +20,27 @@ in the [Twilight article on Wikipedia](http://en.wikipedia.org/wiki/Twilight). ## Usage example ```javascript -// get today's sunlight times for London -var times = SunCalc.getTimes(new Date(), 51.5, -0.1); - -// format sunrise time from the Date object -var sunriseStr = times.sunrise.getHours() + ':' + times.sunrise.getMinutes(); +import * as Beaivi from 'beaivi'; -// get position of the sun (azimuth and altitude) at today's sunrise -var sunrisePos = SunCalc.getPosition(times.sunrise, 51.5, -0.1); +// Get today's sunlight times for London +const times = Beaivi.getTimes(new Date(), 51.5, -0.1); -// get sunrise azimuth in degrees -var sunriseAzimuth = sunrisePos.azimuth * 180 / Math.PI; -``` +// Format sunrise time from the Date object +const sunriseStr = times.sunrise.getHours() + ':' + times.sunrise.getMinutes(); -SunCalc is also available as an NPM package: +// Get position of the sun (azimuth and altitude) at today's sunrise +const sunrisePos = Beaivi.getPosition(times.sunrise, 51.5, -0.1); -```bash -$ npm install suncalc +// Get sunrise azimuth in degrees +const sunriseAzimuth = sunrisePos.azimuth * 180 / Math.PI; ``` -```js -var SunCalc = require('suncalc'); -``` - - ## Reference ### Sunlight times ```javascript -SunCalc.getTimes(/*Date*/ date, /*Number*/ latitude, /*Number*/ longitude, /*Number (default=0)*/ height) +Beaivi.getTimes(/*Date*/ date, /*Number*/ latitude, /*Number*/ longitude, /*Number (default=0)*/ height) ``` Returns an object with the following properties (each is a `Date` object): @@ -72,7 +63,7 @@ Returns an object with the following properties (each is a `Date` object): | `dawn` | dawn (morning nautical twilight ends, morning civil twilight starts) | ```javascript -SunCalc.addTime(/*Number*/ angleInDegrees, /*String*/ morningName, /*String*/ eveningName) +Beaivi.addTime(/*Number*/ angleInDegrees, /*String*/ morningName, /*String*/ eveningName) ``` Adds a custom time when the sun reaches the given angle to results returned by `SunCalc.getTimes`. @@ -83,7 +74,7 @@ Adds a custom time when the sun reaches the given angle to results returned by ` ### Sun position ```javascript -SunCalc.getPosition(/*Date*/ timeAndDate, /*Number*/ latitude, /*Number*/ longitude) +Beaivi.getPosition(/*Date*/ timeAndDate, /*Number*/ latitude, /*Number*/ longitude) ``` Returns an object with the following properties: @@ -97,7 +88,7 @@ Returns an object with the following properties: ### Moon position ```javascript -SunCalc.getMoonPosition(/*Date*/ timeAndDate, /*Number*/ latitude, /*Number*/ longitude) +Beaivi.getMoonPosition(/*Date*/ timeAndDate, /*Number*/ latitude, /*Number*/ longitude) ``` Returns an object with the following properties: @@ -111,7 +102,7 @@ Returns an object with the following properties: ### Moon illumination ```javascript -SunCalc.getMoonIllumination(/*Date*/ timeAndDate) +Beaivi.getMoonIllumination(/*Date*/ timeAndDate) ``` Returns an object with the following properties: @@ -140,7 +131,7 @@ The zenith angle can be used do draw the moon shape from the observers perspecti ### Moon rise and set times ```js -SunCalc.getMoonTimes(/*Date*/ date, /*Number*/ latitude, /*Number*/ longitude[, inUTC]) +Beaivi.getMoonTimes(/*Date*/ date, /*Number*/ latitude, /*Number*/ longitude[, inUTC]) ``` Returns an object with the following properties: @@ -152,54 +143,3 @@ Returns an object with the following properties: By default, it will search for moon rise and set during local user's day (frou 0 to 24 hours). If `inUTC` is set to true, it will instead search the specified date from 0 to 24 UTC hours. - -## Changelog - -#### 1.8.0 — Dec 22, 2016 - -- Improved precision of moonrise/moonset calculations. -- Added `parallacticAngle` calculation to `getMoonPosition`. -- Default to today's date in `getMoonIllumination`. -- Fixed incompatibility when using Browserify/Webpack together with a global AMD loader. - -#### 1.7.0 — Nov 11, 2015 - -- Added `inUTC` argument to `getMoonTimes`. - -#### 1.6.0 — Oct 27, 2014 - -- Added `SunCalc.getMoonTimes` for calculating moon rise and set times. - -#### 1.5.1 — May 16, 2014 - -- Exposed `SunCalc.times` property with defined daylight times. -- Slightly improved `SunCalc.getTimes` performance. - -#### 1.4.0 — Apr 10, 2014 - -- Added `phase` to `SunCalc.getMoonIllumination` results (moon phase). -- Switched from mocha to tape for tests. - -#### 1.3.0 — Feb 21, 2014 - -- Added `SunCalc.getMoonIllumination` (in place of `getMoonFraction`) that returns an object with `fraction` and `angle` -(angle of illuminated limb of the moon). - -#### 1.2.0 — Mar 07, 2013 - -- Added `SunCalc.getMoonFraction` function that returns illuminated fraction of the moon. - -#### 1.1.0 — Mar 06, 2013 - -- Added `SunCalc.getMoonPosition` function. -- Added nadir (darkest time of the day, middle of the night). -- Added tests. - -#### 1.0.0 — Dec 07, 2011 - -- Published to NPM. -- Added `SunCalc.addTime` function. - -#### 0.0.0 — Aug 25, 2011 - -- First commit.