🌏 📡 🌏 📡 LEOGPS - Satellite Navigation with GPS on Python!
Alternatives To Leogps
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
a month ago74apache-2.0Kotlin
The #1 open-source Android GNSS/GPS test program
18 hours ago177gpl-2.0C
A concise ChartPlotter/Navigator. A cross-platform ship-borne GUI application supporting * GPS/GPDS Postition Input * BSB Raster Chart Display * S57 Vector ENChart Display * AIS Input Decoding * Waypoint Autopilot Navigation
4 months ago1gpl-3.0C++
Multi-Sensor Fusion (GNSS, IMU, Camera) 多源多传感器融合定位 GPS/INS组合导航 PPP/INS紧组合
Trail Sense606
a day ago361mitKotlin
An Android app that uses your phone's sensors to assist with wilderness treks or survival situations.
3 months ago143otherC
The open source (GPL v2) turn-by-turn navigation software for many OS
a month ago9otherMATLAB
NaveGo: an open-source MATLAB/GNU Octave toolbox for processing integrated navigation systems and performing inertial sensors analysis.
2 months ago24C++
This package performs outdoor GPS waypoint navigation using move_base, robot_localization, gmapping and others. It can navigate while building a map, avoiding obstacles, and can navigate continuously between each goal.
Marine Api2241623 months ago8July 06, 201911lgpl-3.0Java
Java Marine API - NMEA 0183 library for Java
3 years ago10otherJava
SmartNavi offers OpenSource, step-based and GPS independent navigation for Android. smartnavi-app.com
My Bareboat162
8 days agoapache-2.0C
Opensource hardware and software solutions for sailing and sailboats
Alternatives To Leogps
Select To Compare

Alternative Project Comparisons
Project: LEOGPS
Github: sammmlow/LEOGPS
Documents: https://leogps.readthedocs.io/en/latest/
Version: 1.3 (Latest)

docs license

Author: Samuel Y. W. Low

linkedin orcid


LEOGPS is an open-source Python software which performs relative satellite navigation between two formation flying satellites in low Earth orbit (LEO), with the objective of high accuracy relative positioning via double differential GPS. It uses a TKinter GUI to assist in processing your GPS measurements, and also provides a number of well documented functions, with minimal external package dependencies, useful for your processing (see advanced references in the documentation).

LEOGPS is not a PyPI packaged Python project. There is no installation possible through "pip" or via "conda" for Anaconda users. Simply performing a git clone of this repository is all you need to get started.

LEOGPS currently supports only observations from the GPS constellation (L1/L2 frequency), with observation files in RINEX v2.XX format. LEOGPS also uses the precise ephemeris (.EPH) and clock bias and drift files (.CLK) provided by the University of Bern, Center for Orbit Determination in Europe (CODE). As such, the coordinate frame used in the relative positioning is the International Terrestrial Reference Frame (ITRS) which is an Earth-Centered Earth-Fixed (ECEF) frame. Since the ephemeris files and RINEX v2 observations default to GPS Time, it is very important to also note that the time scale used in LEOGPS output files is GPS Time (as opposed to UTC).

This project also gives sincere appreciation and credit to the University of Bern, for their provision of the CODE FTP.

Installation and First Steps

First, clone this repository by running in your terminal (or Git Bash):

git clone https://github.com/sammmlow/LEOGPS.git

Second, you should do a pip install in your terminal (or Anaconda prompt) of Martin Valgur's Pythonic translation of Hatanaka (de)compression in Python as well as the ncompress library by running:

pip install hatanaka
pip install ncompress

The Hatanaka library in Python was contributed in v1.1, and replaces the older "RNX2CRX" (and GZIP, thanks to the ncompress library) which are Windows-only executables, making the (de)compression possible across all platforms.

The user can then run the application by running 'leogps.py', in the main directory, and you should see the LEOGPS GUI launch:


Next, you can paste the two RINEX observation files of your LEO satellite pairs in the inputs folder, key in your configuration parameters, and hit the 'Run LEOGPS' button. That's it! LEOGPS will automatically source for the precise daily ephemeris and clock solutions, and process the raw GPS measurements to produce a report file in "LEOGPS_Results.txt" comprising:

  • The single point positions and velocities of both LEOs.
  • Precise baseline vectors between the two LEOs.
  • Dilution of precision values.

LEOGPS will also output plots and reports on the interpolated GPS satellite ephemeris and clock biases.

For full documentation, please refer to the LEOGPS Read-The-Docs.

Other Package Dependencies

Recommended Python Version > 3.6

Core libraries necessary: NumPy (v1.14 and above), matplotlib, hatanaka

Standard Python libaries: os, copy, math, datetime, decimal, shutil, subprocess, warnings, urllib.request

Libraries for GUI: PIL, tkinter

Tested on Python version 3.6.5 (Anaconda with default packages).


If you have any queries feel free to reach out to me at:

[email protected]

linkedin orcid

Last Modified on 20-Sep-2021

Popular Gps Projects
Popular Navigation Projects
Popular Hardware Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.