Skip to main content

Flight Dynamic Library

Project description

Documentation Status Tests Coverage Status PyPi version Python versions https://img.shields.io/badge/code%20style-black-000000.svg

This library was started to better understand how Flight Dynamics works. It has no intent of efficiency nor performance at the moment, and the goal is mainly to develop a simple API for space observations.

The sources of this library can be found at github and are under the MIT license.

Installation

Beyond requires Python 3.6+, numpy and sgp4. To install the library and its dependencies use pip

pip install beyond

Documentation

Usage

import numpy as np
from beyond.io.tle import Tle
from beyond.frames import create_station
from beyond.dates import Date, timedelta


# Parse TLE
tle = Tle("""ISS (ZARYA)
1 25544U 98067A   19072.15347313  .00000167  00000-0  10147-4 0  9997
2 25544  51.6420 118.6717 0004098  99.2855 123.2259 15.52799885160336""")

# Create a station from which to compute the pass
station = create_station('KSC', (28.524058, -80.65085, 0.0))

for orb in station.visibility(tle.orbit(), start=Date.now(), stop=timedelta(days=1), step=timedelta(minutes=2), events=True):

    # As all angles are given in radians,
    # there is some conversion to do
    azim = -np.degrees(orb.theta) % 360
    elev = np.degrees(orb.phi)
    r = orb.r / 1000.

    print("{event:10} {tle.name}  {date:%Y-%m-%dT%H:%M:%S.%f} {azim:7.2f} {elev:7.2f} {r:10.2f}".format(
        date=orb.date, r=r, azim=azim, elev=elev,
        tle=tle, event=orb.event if orb.event is not None else ""
    ))

    # Stop at the end of the first pass
    if orb.event and orb.event.info == "LOS":
        break

This library is used as basis for the Space-Command utility.

Commons usages for this library are:

References

A lot of the formulas and flight dynamic algorithm are based on Vallado’s Fundamentals of Astrodynamic and Applications 4th ed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

beyond-0.7.5.tar.gz (133.2 kB view details)

Uploaded Source

File details

Details for the file beyond-0.7.5.tar.gz.

File metadata

  • Download URL: beyond-0.7.5.tar.gz
  • Upload date:
  • Size: 133.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.7

File hashes

Hashes for beyond-0.7.5.tar.gz
Algorithm Hash digest
SHA256 43c33fd53815e48d5cf17c38f990444e0d8a18c389895dd3c1ba6ecd6c245f62
MD5 997ed785868611eeddd6dd16edf745a7
BLAKE2b-256 6e2eacb0e7addb7e4a457af2b847ed46559df7b13e3f8e527e7cb95ede78ce7c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page