celnav

celnav library logo

celnav is freeware, open-source library for Python, contains a set of algorithms for solving typical astronavigational and navigational tasks.

Astrodynamics, in between other topics, covering problems of determination of positions on the surface of celestial bodies. That’s why I was interested in understanding methods of celestial navigation.

Motivation.

Initially this project was started as educational. Possibility to navigate anywhere with literally «bare hands», without any electronics, GPS or other modern devices was inspirational. I wanted to learn this.

Of course in practice it appeared not so easy as it sounds. For stable and fast position determination you need not only hard math and navigation skills, but tools, calculation devices, spreadsheets and other stuff. And even in that case position fix require long time.

So, I decide to make process more automatic, utilizing Python as calculation tool. From here started celnav project.

Results.

Now (after a long work) celnav is full-scale Python library, containing essential functions you need for celestial navigation.

Main features:

  • minimum external dependencies (numpy, astropy, requests, setuptools)
  • standalone & offline (no internet connection needed with default settings)
  • precision (CEP is about 0.4 mile for local almanac and 0.1 mile for AstroPy ephemerides).
  • simplicity & versatility (no advanced skills needed to work with this library, all is plane and easy to understand).
  • small and solid (minimum code; unit test cover over 90%).

Source code available here:

https://github.com/DaniilGalahov/celnav

Feel free to use it in your projects. Feedback and questions are also welcome.

Logo of the project was made by sci-fi artist Amiko Panda. You can see more of her art on her site:

https://www.pandaartzone.com