Installations
npm install astronomia
Releases
Unable to fetch releases
Developer
commenthol
Developer Guide
Module System
ESM
Min. Node Version
>=12.0.0
Typescript Support
No
Node Version
16.15.0
NPM Version
8.5.5
Statistics
121 Stars
199 Commits
23 Forks
6 Watching
2 Branches
2 Contributors
Updated on 12 Nov 2024
Languages
JavaScript (99.92%)
Shell (0.07%)
Makefile (0.01%)
Total Downloads
Cumulative downloads
Total Downloads
14,801,984
Last day
4.8%
34,465
Compared to previous day
Last week
13.8%
174,038
Compared to previous week
Last month
14.6%
689,857
Compared to previous month
Last year
46.9%
5,819,133
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
astronomia
An astronomical library
This library is a translation of meeus from Go to Javascript and contains selected algorithms from the book "Astronomical Algorithms" by Jean Meeus, following the second edition, copyright 1998, with corrections as of August 10, 2009.
Additional algorithms not covered in the book have been added.
Installation
npm install --save astronomia
Browser usage
Make sure you add <meta charset="UTF-8">
to your HTML or at least include your
bundle with <script src="your-bundle.js" charset="UTF-8"></script>
then
this package runs in modern browsers.
- Chrome: >=45
- Firefox: >= 45
- Safari: >=10
- Mobile Safari: >=10
- Edge: >=13
- IE: >=10 (needs
core-js/es6
polyfill)
Usage
For documentation of the different packages please take a look at the source code as well as at the tests.
Packages
- angle: Angular Separation.
- apparent: Apparent Place of a Star.
- apsis: Perigee and apogee of the Moon.
- base: Basic constants and methods
- binary: Binary Stars.
- circle: Smallest Circle containing three Celestial Bodies.
- conjunction: Planetary Conjunctions.
- coord: Transformation of Coordinates. Ecliptic, Equatorial, Horizontal, Galactic coordinates.
- deltat: Dynamical Time and Universal Time.
- eclipse: Eclipses.
- elliptic: Elliptic Motion.
- elementequinox: Reduction of ecliptical Elements from one Equinox to another one.
- eqtime: Equation of time.
- fit: Curve Fitting.
- globe: Ellipsoid, Globe, Coordinates of Earth Observer.
- illum: Illuminated Fraction of the Disk and Magnitude of a Planet.
- interpolation: Interpolation of equidistant values (linear, len3, len5); Lagrange Polynoms
- iterate: Iteration.
- jm: Jewish and Moslem Calendars.
- julian: Julian Days, Gregorian, Julian calendar functions.
- jupiter: Ephemeris for Physical Observations of Jupiter.
- jupitermoons: Positions of the Satellites of Jupiter.
- kepler: Equation of Kepler.
- line: Bodies in Straight Line
- mars: Ephemeris for Physical Observations of Mars.
- moon: Ephemeris for Physical Observations of the Moon.
- moonillum: Illuminated Fraction of the Moon's Disk.
- moonmaxdec: Maximum Declinations of the Moon.
- moonnode: Passages of the Moon through the Nodes.
- moonphase: Phases of the Moon.
- moonposition: Position of the Moon.
- nearparabolic: Near-parabolic Motion.
- node: Passages through the Nodes.
- nutation: Nutation and the Obliquity of the Ecliptic.
- parabolic: Parabolic Motion.
- parallactic: The Parallactic Angle, and three other Topics.
- parallax: Correction for Parallax.
- perihelion: Planets in Perihelion and Aphelion.
- planetelements: Elements of Planetary Orbits.
- planetposition: Ecliptic position of planets by full VSOP87 theory.
- pluto: Pluto.
- precess: Precession.
- refraction: Atmospheric Refraction.
- rise: Rising, Transit, and Setting.
- saturnmoons: Positions of the Satellites of Saturn.
- saturnring: The Ring of Saturn.
- semidiameter: Semidiameters of the Sun, Moon, and Planets.
- sexagesimal: Sexagesimal classes.
- sidereal: Sidereal Time at Greenwich.
- solar: Solar Coordinates.
- solardisk: Ephemeris for Physical Observations of the Sun.
- solarxyz: Rectangular Coordinates of the Sun.
- solstice: Equinoxes, Solstices and Solarterms.
- stellar: Stellar Magnitudes.
- sundial: Calculation of a Planar Sundial.
- sunrise: Compute rise, noon, set of the Sun for an earth observer.
Using a single package
If you require a small footprint in your final application, each of the provided packages can be used as a single one:
1// instead of 2const base = require('astronomia').base 3// use 4const base = require('astronomia/base')
ES6 Syntax
1// instead of 2import {base} from 'astronomia' 3// use 4import base from 'astronomia/base'
To access dedicated VSOP87 data sets use e.g.
1const {vsop87Bvenus} = require('astronomia').data 2// or 3const vsop87Bvenus = require('astronomia/data/vsop87Bvenus')
Running tests
npm test
to even run very long lasting tests, do
SLOWTESTS=1 npm test
In local browser
npm run zuul -- --local 3000
Contribution and License Agreement
If you contribute code to this project, you are implicitly allowing your code to be distributed under the MIT license.
You are also implicitly verifying that all code is your original work or correctly attributed with the source of its origin and licence.
License
MIT Licensed
See LICENSE for more info.
References
No vulnerabilities found.
Reason
no dangerous workflow patterns detected
Reason
no binaries found in the repo
Reason
0 existing vulnerabilities detected
Reason
license file detected
Details
- Info: project has a license file: LICENSE:0
- Info: FSF or OSI recognized license: MIT License: LICENSE:0
Reason
dependency not pinned by hash detected -- score normalized to 2
Details
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/commenthol/astronomia/ci.yml/master?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/commenthol/astronomia/ci.yml/master?enable=pin
- Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:30
- Info: 0 out of 2 GitHub-owned GitHubAction dependencies pinned
- Info: 1 out of 2 npmCommand dependencies pinned
Reason
Found 1/22 approved changesets -- score normalized to 0
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
detected GitHub workflow tokens with excessive permissions
Details
- Warn: no topLevel permission defined: .github/workflows/ci.yml:1
- Info: no jobLevel write permissions found
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
- Warn: no security policy file detected
- Warn: no security file to analyze
- Warn: no security file to analyze
- Warn: no security file to analyze
Reason
branch protection not enabled on development/release branches
Details
- Warn: branch protection not enabled for branch 'master'
Reason
project is not fuzzed
Details
- Warn: no fuzzer integrations found
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
- Warn: 0 commits out of 12 are checked with a SAST tool
Score
3.6
/10
Last Scanned on 2024-11-25
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More