Ground Tracks and Orbital Geometry
Mapping satellite paths on Earth’s surface as the planet rotates beneath
Before You Start
You should know
That a satellite follows an orbit in space while Earth rotates beneath it.
You will learn
How orbital position becomes latitude and longitude on a rotating Earth, why ground tracks shift westward, and how inclination controls what latitudes a satellite can reach.
Why this matters
Repeat coverage, revisit time, and map interpretation all depend on understanding how an orbit projects onto the surface.
If this gets hard, focus on…
The main idea that the orbit stays simple in space, but the surface path changes because Earth is rotating underneath it.
Landsat 8, launched in February 2013, orbits at 705 km altitude in a near-polar, sun-synchronous orbit with a period of 98.9 minutes. In 16 days, its 185-kilometre-wide sensor swath covers every point on Earth’s land surface. The coverage pattern is not random: each successive pass is shifted 2,752 km west of the previous one at the equator, and after exactly 233 orbits the ground track repeats. This precise dance between orbital mechanics and Earth’s rotation is what makes systematic, repeatable Earth observation possible — and what makes it possible to task the satellite to be over a specific location at a specific time.
A satellite orbits in a plane fixed relative to the stars. Earth rotates beneath it. The ground track — the satellite’s path projected onto the surface — therefore shifts westward with each orbit, tracing a sinusoidal curve on a map. Predicting where any satellite will be at any moment is a coordinate transformation problem: convert from the orbital frame (position along the orbit, inclination, longitude of the ascending node) to Earth’s rotating frame (latitude, longitude). This model works through that transformation step by step, explains why ground tracks take their characteristic sinusoidal shape on a Mercator projection, and derives the repeat period from the relationship between orbital period and Earth’s rotation rate.
1. The Question
Where on Earth is a satellite at any given time?
A satellite orbits in a fixed plane through space. But Earth rotates beneath it, so the ground track — the point directly below the satellite — traces a path across the surface.
Key observations:
- The satellite’s orbital plane is fixed (relative to the stars)
- Earth rotates eastward at 15.04°/hour
- Each successive orbit crosses the equator farther west than the previous one
The mathematical question: Given a satellite’s orbital parameters and the current time, where is the sub-satellite point on Earth’s surface?
2. The Conceptual Model
Orbital Plane vs. Rotating Earth
In an inertial (non-rotating) frame:
- The satellite orbits in a fixed plane
- The orbital plane is defined by its inclination i (angle relative to the equator)
In Earth’s rotating frame:
- The satellite appears to trace a sinusoidal path across the surface
- The maximum latitude reached is ±i (the inclination)
- The ground track shifts westward by \Delta\lambda degrees per orbit
Westward Shift Per Orbit
During one orbital period T, Earth rotates through angle:
\Delta\lambda = 360° \times \frac{T}{T_{\text{Earth}}}
Where T_{\text{Earth}} = 86164 s (sidereal day).
Example: For a 90-minute orbit (T = 5400 s):
\Delta\lambda = 360° \times \frac{5400}{86164} = 22.5°
Each orbit’s ground track is 22.5° west of the previous one.
3. Building the Mathematical Model
Step 1: Satellite Position in Orbital Frame
Assume a circular orbit with: - Orbital radius r - Inclination i (angle between orbital plane and equator) - True anomaly \nu (satellite’s angular position in its orbit, measured from ascending node)
Position in orbital plane (2D coordinates):
x_{\text{orb}} = r\cos\nu y_{\text{orb}} = r\sin\nu
Ascending node: The point where the satellite crosses the equator going northward.
Step 2: Rotate to Equatorial Frame
The orbital plane is tilted at inclination i. Rotate the position vector:
In 3D (equatorial frame):
x_{\text{eq}} = x_{\text{orb}} = r\cos\nu
y_{\text{eq}} = y_{\text{orb}}\cos i = r\sin\nu\cos i
z_{\text{eq}} = y_{\text{orb}}\sin i = r\sin\nu\sin i
This assumes the ascending node is at longitude 0° at time t=0.
Step 3: Account for Earth’s Rotation
The ascending node’s longitude at time t:
\lambda_{\text{node}}(t) = \lambda_0 - \omega_{\oplus} t
Where: - \lambda_0 is the ascending node longitude at t=0 - \omega_{\oplus} = 360°/86164 \approx 0.004178°/\text{s} is Earth’s rotation rate
Rotate the satellite position by -\lambda_{\text{node}}(t) to get Earth-fixed coordinates.
Step 4: Convert to Latitude/Longitude
From Cartesian (x, y, z) in the Earth-fixed frame:
\text{latitude} = \arcsin\left(\frac{z}{r}\right)
\text{longitude} = \arctan2(y, x)
Where r = \sqrt{x^2 + y^2 + z^2} (should equal orbital radius).
4. Worked Example by Hand
Problem: A satellite has: - Altitude: 600 km → r = 6971 km - Inclination: i = 45° - At t=0, satellite is at ascending node (\nu = 0°, longitude = 0°)
Calculate the ground track position after 15 minutes (t = 900 s).
Solution
Step 1: Satellite’s position in orbit
First, find how far the satellite has moved in its orbit.
Orbital period (from Model 13):
T = 2\pi\sqrt{\frac{r^3}{\mu}} = 2\pi\sqrt{\frac{(6971)^3}{398600}} \approx 5820 \text{ s}
Angular velocity in orbit:
\omega_{\text{orb}} = \frac{2\pi}{T} = \frac{2\pi}{5820} = 0.001079 \text{ rad/s}
True anomaly after 900 s:
\nu = \omega_{\text{orb}} \times 900 = 0.001079 \times 900 = 0.9713 \text{ rad} = 55.6°
Satellite position in orbital plane:
x_{\text{orb}} = 6971 \cos(55.6°) = 6971 \times 0.564 = 3931 \text{ km}
y_{\text{orb}} = 6971 \sin(55.6°) = 6971 \times 0.826 = 5758 \text{ km}
Step 2: Convert to equatorial frame
x_{\text{eq}} = 3931 \text{ km}
y_{\text{eq}} = 5758 \times \cos(45°) = 5758 \times 0.707 = 4071 \text{ km}
z_{\text{eq}} = 5758 \times \sin(45°) = 5758 \times 0.707 = 4071 \text{ km}
Step 3: Account for Earth’s rotation
Earth has rotated through:
\Delta\lambda_{\text{Earth}} = 0.004178°/\text{s} \times 900\text{ s} = 3.76°
The ascending node (initially at 0°) is now at:
\lambda_{\text{node}} = 0° - 3.76° = -3.76°
Rotate the satellite’s position by -\lambda_{\text{node}} = 3.76° eastward.
This is a rotation around the z-axis:
x' = x\cos(3.76°) - y\sin(3.76°) = 3931 \times 0.9978 - 4071 \times 0.0656 = 3657 \text{ km}
y' = x\sin(3.76°) + y\cos(3.76°) = 3931 \times 0.0656 + 4071 \times 0.9978 = 4320 \text{ km}
z' = z = 4071 \text{ km}
Step 4: Convert to lat/lon
\text{latitude} = \arcsin\left(\frac{4071}{6971}\right) = \arcsin(0.584) = 35.7°\text{N}
\text{longitude} = \arctan2(4320, 3657) = 49.8°\text{E}
Ground track position after 15 minutes: (35.7°N, 49.8°E)
5. Computational Implementation
Below is an interactive ground track simulator.
Try this:
- ISS preset: 51.6° inclination means it reaches ±51.6° latitude (no polar coverage)
- Polar preset: 90° inclination gives global coverage, passes over both poles
- SSO preset: 98° inclination (retrograde) — ground track repeats after ~14 orbits
- Increase number of orbits: See the westward shift accumulate
- Notice: Lower inclinations create tighter sinusoidal patterns
Key insight: The westward shift per orbit combined with the sinusoidal path creates the characteristic ground track pattern.
6. Interpretation
Inclination Determines Coverage
Equatorial orbit (i = 0°): Only observes equatorial latitudes
Mid-latitude orbit (i = 51.6°, like ISS): Coverage from 51.6°S to 51.6°N
- Most of Earth’s population lives in this band - Optimizes for human observation and rendezvous
Polar orbit (i = 90°): Global coverage including poles
- Essential for Earth observation missions - Weather satellites, reconnaissance
Sun-synchronous (i \approx 98°, retrograde): Crosses equator at the same local time
- Consistent lighting for optical imagery - Orbital plane precesses at ~1°/day to match Earth’s orbit around Sun
Repeat Ground Tracks
Some satellites are placed in repeat ground track orbits where the ground track pattern repeats exactly after N orbits.
Condition:
\frac{N \times T}{T_{\text{Earth}}} = \text{integer}
Example: Landsat 8 at 705 km altitude has T = 98.9 minutes. After 233 orbits (16 days), the ground track repeats exactly.
Why useful: Allows direct comparison of images from the same orbital geometry.
7. What Could Go Wrong?
Forgetting the Sign of Earth’s Rotation
Earth rotates eastward (west to east). The ground track shifts westward (in the opposite direction).
If you add instead of subtract the Earth rotation angle, the ground track will spiral eastward instead of westward.
Mixing Up Inclination and Latitude
Inclination is the angle between the orbital plane and the equator (0°–180°).
Maximum latitude reached is ±inclination (for i \leq 90°).
Retrograde orbits have i > 90°. For example, i = 98° is 82° retrograde and reaches ±82° latitude.
Assuming Ground Track Longitude is Satellite’s Longitude
The sub-satellite point (ground track) is directly below the satellite. But the satellite itself is at altitude h, not on the surface.
Line-of-sight calculations (can the satellite see a ground station?) require 3D geometry, not just lat/lon matching.
Neglecting Orbital Perturbations
Real satellites experience: - Atmospheric drag (LEO): Orbit decays, period shortens - J2 perturbation (Earth’s oblateness): Ascending node precesses, argument of perigee changes - Solar/lunar gravity: Small perturbations
For long-term predictions (days/weeks), these matter.
8. Extension: Ascending Node Longitude
The longitude of the ascending node (\Omega, capital omega) specifies where the satellite crosses the equator going northward.
How it changes:
For polar orbits, \Omega remains nearly constant (in inertial space).
For inclined orbits, J2 perturbation causes \Omega to precess:
\frac{d\Omega}{dt} = -\frac{3}{2} \frac{J_2 R_{\oplus}^2 n}{(a(1-e^2))^2} \cos i
Where: - J_2 = 1.0826 \times 10^{-3} (Earth’s oblateness coefficient) - n is mean motion (radians per second) - a is semi-major axis - e is eccentricity (= 0 for circular) - i is inclination
For sun-synchronous orbits, this precession is set to match Earth’s orbital motion around the Sun (~0.9856°/day).
9. Math Refresher: Rotation Matrices
Rotation Around the Z-Axis
To rotate a point (x, y, z) by angle \theta around the z-axis:
\begin{pmatrix} x' \\ y' \\ z' \end{pmatrix} = \begin{pmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} x \\ y \\ z \end{pmatrix}
Result:
x' = x\cos\theta - y\sin\theta y' = x\sin\theta + y\cos\theta z' = z
Rotation Around the X-Axis (Inclination)
To rotate by inclination i around the x-axis:
\begin{pmatrix} x' \\ y' \\ z' \end{pmatrix} = \begin{pmatrix} 1 & 0 & 0 \\ 0 & \cos i & -\sin i \\ 0 & \sin i & \cos i \end{pmatrix} \begin{pmatrix} x \\ y \\ z \end{pmatrix}
Ground track calculations combine multiple rotations:
- Position in orbital plane
- Rotate by inclination (tilt the plane)
- Rotate by longitude of ascending node (orient in space)
- Rotate by Earth’s rotation (convert to Earth-fixed frame)
Summary
- Ground track: Path traced by the sub-satellite point on Earth’s surface
- Westward shift: Each orbit crosses the equator by about 360^\circ \times T/86164 west of the previous one
- Inclination determines maximum latitude reached (±i)
- Polar orbits (i = 90°) provide global coverage
- Sun-synchronous orbits (i \approx 98°) maintain constant local solar time
- Ground track calculation combines orbital geometry with Earth’s rotation
- Repeat ground tracks require specific altitude/period relationships