Yet another satellite tracking web app

I’m sure that there are a million and one versions of this kind of thing, but a couple of months ago I took the notion to put together a little satellite tracking web-app. I’ve posted about it in these forums before to get a little assistance with a performance issue that was driving me nuts (thanks again for that!), but since it’s at what I could get away with saying is in a ready-ish state now, I thought I’d throw it up here.

Find Satellites

At present it shows 76 satellites from a NASA feed, and all the Starlinks that are available from the Celestrak TLE data. I’ve manually looked up all of the satellites provided and created representative icons for each one, rather than the usual coloured dot or generic satellite icon. If anything new comes in through the feed, it’ll just default to a Telstar graphic.

When you select a satellite, you should see any description I’ve been able to find, along with live lat / long / altitude details, and the time until it’s next in your line of sight if it isn’t currently but will be over the next couple of hours.

You can view from space as per the default, but also switch to an Earth-centric view based on your location (you can manually set your location using the little down arrow button if you’re not able / willing to provide location info through your device.

I’ve tried to go for a UI / layout that works equally well on a desktop or mobile device, and it’s worked so far on everything I’ve been able to get it tested on… Any feedback welcome, of course. Thanks for reading! There are more words to read on view the “website” link at the top right of the app too.


This is really cool! I love that you can see the line of sight to each object in space from my location (including the moon :sweat_smile:)

Is the moon just an ellipsoid entity in this scene?

One thing I haven’t really seen in these apps is a visualization of the satellites around the moon. I was kind of mindblown when I discovered we have satellites around the moon. I’m not sure where those TLEs are published though.

You won’t find TLE’s for things that far out, and yes, admittedly, the Moon isn’t really a distant object (relatively speaking), since the SGP4 math tends to break down a bit when you get cislunar. It’s intended use for TLE/SGP4 is for objects who’s primary gravity influence is the Earth. Not saying it couldn’t be done… it’ll just get ugly (mathematically) :nerd_face:

Given that, and if you’re familiar with the other mathematical forms of propagating orbital motion, if you want orbital elements, (and even pre-computed ephemerides) for stuff like this, check out the NASA-JPL HORIZONS system.
They’ve got a lot of items that you can “track” through their system. Even a certain “high mileage” Cherry-Red Roadster which recently made its first Mars flyby.

Just make sure to choose the correct frame of reference for what you’re looking to propagate.
For example, if you need to stay Earth(geo)-centric in order to have all the Cartesian {xyz} distances originate from the proper center of your scene (CesiumJS Earth-default), using either Inertial or Fixed frames of “rotation”, you need to specify it when querying HORIZONS. Keep in mind, that, depending on what you want, you may need to use the TELNET, or EMAIL “interfaces” for the system as the Web one is a little limited. But you can still get usable data to play with if you’re just poking around…

So, for example, looking for Cartesian (position-only, in km) coordinates for LRO, referenced to the Earth-centered, non-rotating (inertial, ICRF/J2000) frame, your web-request might look like this:

Ephemeris Type [change] : 	VECTORS
Target Body [change] : 	LRO (spacecraft) [-85]
Coordinate Origin [change] : 	Geocentric [500]
Time Span [change] : 	Start=2020-10-11, Stop=2020-11-10, Step=1 d
Table Settings [change] : 	quantities code=1; output units=KM-S
Display/Output [change] : 	default (formatted HTML)

and the results (for the time period specified) would look like this:

Revised: Oct 06, 2020 LRO Spacecraft / (Moon) -85

The Lunar Reconnaissance Orbiter (LRO) was launched 2009-Jun-18 9:32 UTC
from Cape Canaveral, FL (USA) launch complex 41 on an Atlas V booster.

Following a 4-day transfer to the Moon and orbit insertion, the spacecraft
was placed in an elliptical low-circular polar orbit (~50 km) for a nominal
1-year mission.

LRO will return global data, such as day-night temperature maps, a global
geodetic grid, high resolution color imaging and the moon’s UV albedo.
There is emphasis on the polar regions of the moon where continuous access
to solar illumination may be possible and the prospect of water in the
permanently shadowed regions at the poles may exist.

It is possible there will be an extended mission as a communication
relay/south pole observing in a low-maintenance orbit.

Cosmic Ray Telescope for the Effects of Radiation (CRaTER)
Diviner Lunar Radiometer Experiment (DLRE)
Lyman Alpha Mapping Project (LAMP)
Lunar Exploration Neutron Detector (LEND)
Lunar Orbiter Laser Altimeter (LOLA)
Lunar Reconnaissance Orbiter Camera (LROC)
Mini-RF Technology Demonstration (Mini-RF)

Built at Goddard Spaceflight Center (GSFC)

  • One year primary mission in ~50 km polar orbit,
  • LRO Total Mass ~ 1000 kg/400 W
  • 100 kg/100W payload capacity
  • 3-axis stabilized pointed platform (~ 60 arc-sec or better pointing)
  • Articulated solar arrays and Li-Ion battery
  • Spacecraft to provide thermal control services to payload elements
    if req’d
  • Ka-band high rate downlink ( 100-300 Mbps, 900 Gb/day),
    S-band up/down low rate
  • Centralized MOC operates mission and flows level 0 data to PI’s,
    PI delivers high level data to PDS
  • Command & Data Handling : MIL-STD-1553, RS 422, & High Speed Serial
    Service, PowerPC Architecture, 200-400 Gb SSR, CCSDS
  • Mono or bi-prop propulsion (500-700 kg fuel)

Updated irregularly (on Horizons) or by request.
Concatenated historical (reconstructed) trajectories are from PDS.
Last tracking data used was 2020-Jun-15, predicts thereafter.

Trajectory name Start (TDB) Stop (TDB)

Reconstructed trajectory 2009-Jun-18 22:16 2020-Jun-15 00:01
Concatenated predict updates 2020-Jun-15 00:01 2020-Oct-02 00:01
558day_20201002_01.V0.1 2020-Oct-02 00:01 2022-Apr-13 00:01

Ephemeris / WWW_USER Sun Oct 11 11:39:51 2020 Pasadena, USA / Horizons

Target body name: LRO (spacecraft) (-85) {source: LRO_merged}
Center body name: Earth (399) {source: DE431mx}
Center-site name: BODY CENTER

Start time : A.D. 2020-Oct-11 00:00:00.0000 TDB
Stop time : A.D. 2020-Nov-10 00:00:00.0000 TDB
Step-size : 1440 minutes

Center geodetic : 0.00000000,0.00000000,0.0000000 {E-lon(deg),Lat(deg),Alt(km)}
Center cylindric: 0.00000000,0.00000000,0.0000000 {E-lon(deg),Dxy(km),Dz(km)}
Center radii : 6378.1 x 6378.1 x 6356.8 km {Equator, meridian, pole}
Output units : KM-S
Output type : GEOMETRIC cartesian states
Output format : 1 (position only)
EOP file : eop.201009.p201231
EOP coverage : DATA-BASED 1962-JAN-20 TO 2020-OCT-09. PREDICTS-> 2020-DEC-30
Reference frame : Ecliptic of J2000.0


2459133.500000000 = A.D. 2020-Oct-11 00:00:00.0000 TDB
X =-1.872558549928991E+05 Y = 3.338478599422292E+05 Z = 2.201911051942506E+04
2459134.500000000 = A.D. 2020-Oct-12 00:00:00.0000 TDB
X =-2.552028902940855E+05 Y = 2.762539368257181E+05 Z = 2.448025370648377E+04
2459135.500000000 = A.D. 2020-Oct-13 00:00:00.0000 TDB
X =-3.103381854215282E+05 Y = 2.012200001610858E+05 Z = 2.903570470915393E+04
2459136.500000000 = A.D. 2020-Oct-14 00:00:00.0000 TDB
X =-3.445752460051641E+05 Y = 1.169599408887235E+05 Z = 3.354881857755181E+04
2459137.500000000 = A.D. 2020-Oct-15 00:00:00.0000 TDB
X =-3.572130335736924E+05 Y = 2.634243657388350E+04 Z = 3.202525045574431E+04
2459138.500000000 = A.D. 2020-Oct-16 00:00:00.0000 TDB
X =-3.500946664630974E+05 Y =-6.904600369800912E+04 Z = 2.802509101320315E+04
2459139.500000000 = A.D. 2020-Oct-17 00:00:00.0000 TDB
X =-3.198995572485509E+05 Y =-1.598907878340862E+05 Z = 2.641609618887554E+04
2459140.500000000 = A.D. 2020-Oct-18 00:00:00.0000 TDB
X =-2.661327205037826E+05 Y =-2.373297516926450E+05 Z = 2.192169292127897E+04
2459141.500000000 = A.D. 2020-Oct-19 00:00:00.0000 TDB
X =-1.965308394942695E+05 Y =-3.005302653904042E+05 Z = 1.221432544760990E+04
2459142.500000000 = A.D. 2020-Oct-20 00:00:00.0000 TDB
X =-1.168839362748947E+05 Y =-3.472062965457683E+05 Z = 4.250165435539544E+03
2459143.500000000 = A.D. 2020-Oct-21 00:00:00.0000 TDB
X =-2.789648554536756E+04 Y =-3.703486243409183E+05 Z =-1.152704569339316E+03
2459144.500000000 = A.D. 2020-Oct-22 00:00:00.0000 TDB
X = 6.403963779197253E+04 Y =-3.699587664459984E+05 Z =-1.000033353527245E+04
2459145.500000000 = A.D. 2020-Oct-23 00:00:00.0000 TDB
X = 1.495454887748730E+05 Y =-3.514455972388059E+05 Z =-1.991470836601823E+04
2459146.500000000 = A.D. 2020-Oct-24 00:00:00.0000 TDB
X = 2.265541586177443E+05 Y =-3.148110725661243E+05 Z =-2.464779772810520E+04
2459147.500000000 = A.D. 2020-Oct-25 00:00:00.0000 TDB
X = 2.947945274536718E+05 Y =-2.589902946249947E+05 Z =-2.789681075222258E+04
2459148.500000000 = A.D. 2020-Oct-26 00:00:00.0000 TDB
X = 3.481153846112498E+05 Y =-1.902987506807717E+05 Z =-3.378525079523170E+04
2459149.500000000 = A.D. 2020-Oct-27 00:00:00.0000 TDB
X = 3.821060819217266E+05 Y =-1.152919925256702E+05 Z =-3.719943038547444E+04
2459150.500000000 = A.D. 2020-Oct-28 00:00:00.0000 TDB
X = 3.996284119072505E+05 Y =-3.380370701840784E+04 Z =-3.496712617062499E+04
2459151.500000000 = A.D. 2020-Oct-29 00:00:00.0000 TDB
X = 4.013968810955017E+05 Y = 5.200342337894350E+04 Z =-3.324716977648624E+04
2459152.500000000 = A.D. 2020-Oct-30 00:00:00.0000 TDB
X = 3.833129565512872E+05 Y = 1.339551542658205E+05 Z =-3.320994764338039E+04
2459153.500000000 = A.D. 2020-Oct-31 00:00:00.0000 TDB
X = 3.462919000100381E+05 Y = 2.079315577195302E+05 Z =-2.860618502278755E+04
2459154.500000000 = A.D. 2020-Nov-01 00:00:00.0000 TDB
X = 2.965720539325188E+05 Y = 2.752208208832641E+05 Z =-2.046370892174821E+04
2459155.500000000 = A.D. 2020-Nov-02 00:00:00.0000 TDB
X = 2.347400982087330E+05 Y = 3.315686978693219E+05 Z =-1.516067238945450E+04
2459156.500000000 = A.D. 2020-Nov-03 00:00:00.0000 TDB
X = 1.596450568847337E+05 Y = 3.702454429189516E+05 Z =-1.027548655125973E+04
2459157.500000000 = A.D. 2020-Nov-04 00:00:00.0000 TDB
X = 7.729827657539400E+04 Y = 3.916192548495938E+05 Z =-7.040119546061615E+02
2459158.500000000 = A.D. 2020-Nov-05 00:00:00.0000 TDB
X =-5.515397379001709E+03 Y = 3.977576942491861E+05 Z = 8.565562067851017E+03
2459159.500000000 = A.D. 2020-Nov-06 00:00:00.0000 TDB
X =-8.869303036726605E+04 Y = 3.844252041694800E+05 Z = 1.343180296310293E+04
2459160.500000000 = A.D. 2020-Nov-07 00:00:00.0000 TDB
X =-1.700070553049038E+05 Y = 3.494519721587826E+05 Z = 1.914445599437825E+04
2459161.500000000 = A.D. 2020-Nov-08 00:00:00.0000 TDB
X =-2.408513065676688E+05 Y = 2.980472269962225E+05 Z = 2.742459424615985E+04
2459162.500000000 = A.D. 2020-Nov-09 00:00:00.0000 TDB
X =-2.967217250269887E+05 Y = 2.331741002282003E+05 Z = 3.168207806446435E+04
2459163.500000000 = A.D. 2020-Nov-10 00:00:00.0000 TDB
X =-3.383659675741391E+05 Y = 1.534269192458592E+05 Z = 3.138654165956306E+04

Coordinate system description:

Ecliptic at the standard reference epoch

Reference epoch: J2000.0
X-Y plane: adopted Earth orbital plane at the reference epoch
           Note: obliquity of 84381.448 arcseconds (IAU76) wrt ICRF equator
X-axis   : ICRF
Z-axis   : perpendicular to the X-Y plane in the directional (+ or -) sense
           of Earth's north pole at the reference epoch.

Symbol meaning:

JDTDB    Julian Day Number, Barycentric Dynamical Time
  X      X-component of position vector (km)
  Y      Y-component of position vector (km)
  Z      Z-component of position vector (km)

Geometric states/elements have no aberrations applied.

Computations by …
Solar System Dynamics Group, Horizons On-Line Ephemeris System
4800 Oak Grove Drive, Jet Propulsion Laboratory
Pasadena, CA 91109 USA
Information :
Connect : (browser)
telnet 6775 (command-line)
e-mail command interface available
Script and CGI interfaces available
Author :

which would be the bare-bones “points to plot” if you prefer not to do propagation math. Similarly you could just request Keplerian elements, again choosing the proper frames of reference, and approach things that way.

it’s a fun system to play with. Enjoy !!