I was wondering if, and how, one can tell from the values in a TLE whether an orbit is LEO, MEO, HEO, or GEO. I'd like to do this in code eventually, so any formulas or threshold values would be much appreciated.


According to Wikipedia, field 8 of TLE line 2 is the "mean motion in revolutions per day"; you can determine the orbital period from this.

For geosynchronous orbit, you should expect 1.0 revolutions per day (in fact, due to complexity in the definition of "day", they're very close to 1.0027 as a rule).

LEO defined as < 2000 km altitude should get periods between 84 and 127 minutes (i.e. ~11 to ~17 revolutions per day).

MEO defined as 2000 km to geostationary would then be 1-11 revs a day.

HEO defined as higher than geostationary would be less than 1 rev per day.

Highly elliptical orbits complicate this, obviously; it's up to you how you want to classify a satellite with perigee in LEO and apogee in MEO. You can derive the SMA from the period, and the eccentricity is in line 2 field 5, if you want the actual perigee and apogee.

  • $\begingroup$ Very nice. Had never seen the fields broken down. $\endgroup$ – Organic Marble Oct 19 '17 at 22:03
  • $\begingroup$ At least in the fields I have experience in, HEO refers to Highly Eccentric Orbit or High Eccentricity Orbit. I don't think I've ever seen it used to refer to High Earth Orbit. Those are rare - as a collective term, I think we usually refer to them as super-sync. $\endgroup$ – CoAstroGeek Oct 26 '18 at 17:41

The TLE gives mean motion ($n$) in $\frac{rev}{day}$. This needs to be converted to $\frac{rad}{s}$ which can be accomplished by multiplying the $n$ TLE value by $\frac{2\pi}{86400}$.

Therefore, to go directly from $n$ in TLE to the semi-major axis $a$. We can use the following formula: $a=\frac{u^{1/3}}{\frac{2n\pi}{86400}^{2/3}}$.

From here, orbital regimes can be determined ($100km<a\leq2000km$ means LEO, $2000km<a<35786km$ is MEO and GEO is ~$35,786km$).

There are other complexities around eccentricity, and for GEO you'll want to include bounds on inclination.

  • $\begingroup$ For GEO it might be more intuitive and accurate to select directly on mean motion directly (e.g. ~1.0027 rev/day for synchrony to a sidereal day) rather than to derive the Eulerian (and therefore approximate) value for $a$. Even out there J2 has a 100 ppm effect on the period (you can't just use $\mu$). Equation for orbital period around oblate bodies, based on J2? $\endgroup$ – uhoh Oct 26 '18 at 4:05
  • $\begingroup$ Also your $a$ is the semi-major axis, but then you re-use $a$ for altitude in your inequalities, don't forget the 6378 km!, and don't forget inclination! Geosynchronous is not necessarily geostationary. $\endgroup$ – uhoh Oct 26 '18 at 4:08
  • 1
    $\begingroup$ I would disagree about being more selective for GEO - there are lots of GEO objects which are oscillating about the GEO orbit (old satellites, debris) and these to me also count as GEO. D'oh on the altitude - definitely don't forget the 6378! $\endgroup$ – Diamond Oct 26 '18 at 11:51
  • $\begingroup$ If it were me I would give the best possible information first, then offer the various options for simplifying. It's just a thought. Now it's at least here in comments anyway. $\endgroup$ – uhoh Oct 26 '18 at 11:57

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.