Project

tengai

0.0
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
Ruby wrapper for the NASA HORIZONS telnet system
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
>= 0
>= 0

Runtime

>= 0
 Project Readme

Tengai

Build Status Dependency Status Code Climate

Tengai is a Gem for using the NASA JPL HORIZONS System. It produces emepherides–tables plotting the course of a celestial body over time.

The JPL HORIZONS on-line solar system data and ephemeris computation service provides access to key solar system data and flexible production of highly accurate ephemerides for solar system objects (603428 asteroids, 3184 comets, 176 planetary satellites, 8 planets, the Sun, L1, L2, select spacecraft, and system barycenters ). HORIZONS is provided by the Solar System Dynamics Group of the Jet Propulsion Laboratory.

Usage

The API is currently very limited. The data from the telnet system is very irregularly structured, and as such parsing it is a big deal.

client = Tengai::Client.new # Connect a client to the telnet server
body = Tengai::Body.find(client, 499) # Get Mars
ephemeris = Tengai::Ephemeris.fetch(client, body,
  start_time: Date.today, stop_time: Date.today + 1, interval: 720) # Get ephemeris data for mars

Contributing :octocat:

The project uses Ragel State Machine Compiler to generate the parser code. If you will be working on that, you'll need to install Ragel (brew install ragel).

  1. Fork
  2. Create a feature branch
  3. Add your feature and test it
  4. Commit
  5. Push your branch
  6. Create a pull request

Testing đź‘Ś

Tengai is tested with Test::Unit. Tests are split unto units and integration. Run them with rake test:units and rake test:integration respectively or just rake to run them all.