Astronomia

screenshot of Astronomia

An astronomical library

Overview

The Astronomical Library is a powerful tool for those interested in celestial mechanics and astronomy. This library offers a translation of Jean Meeus' renowned "Astronomical Algorithms" from Go to JavaScript, enhancing accessibility for developers working on web-based astronomy applications. With its robust set of algorithms, it allows users to calculate various astronomical phenomena, making it an ideal resource for both educational purposes and professional use.

Developed with modern web browsers in mind, this library takes advantage of contemporary JavaScript capabilities while also ensuring compatibility with older systems through the necessary polyfills. Its diverse range of algorithms covers essential concepts from celestial mechanics, from the motion of planets to calculating the phases of the moon, and more.

Features

  • Wide Compatibility: Runs in modern browsers like Chrome (>=45), Firefox (>=45), Safari (>=10) and even Internet Explorer (>=10) with appropriate polyfills.
  • Comprehensive Algorithms: Includes algorithms for planetary conjunctions, eclipses, and various celestial observations from the renowned Meeus book.
  • Coordinate Transformations: Provides functions for transforming between different celestial coordinate systems, such as ecliptic, equatorial, and galactic coordinates.
  • Ephemeris Calculations: Offers ephemeris data for celestial bodies like the Moon, Mars, Jupiter, and Saturn, allowing for accurate observations.
  • Support for Timekeeping: Includes functionalities for calculating dynamical time, universal time, Julian days, and the equation of time.
  • Interpolation Methods: Equipped with tools for interpolation of equidistant values, making it versatile for data analysis and modeling.
  • Comprehensive Documentation: The source code and tests serve as a rich resource for understanding package usage, ensuring a smooth learning curve.
  • Additional Features: Also covers specialized topics such as parallax correction, atmospheric refraction, and solar coordinates, making it a versatile library for astronomy enthusiasts.
eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

rollup
Rollup

RollupJS is a popular and efficient JavaScript module bundler that takes the code from multiple modules and packages them into a single optimized file, minimizing the overall size of the application and improving its performance.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.