Trying to understand the two “holes” in this alt/az plot of the ISS

I'm plotting the position of satellites in the sky using Skyfield. If I project the .altaz() data on to a rectangle (in a similar fashion to the way ground track lat/lon plots are made) I get two big "holes".

Is there a way to understand, explain, and articulate the cause of these holes in alt/az space beyond "the ISS can't go there"? I don't think it's anything fundamental or profound, but I can't wrap my mind around why there can be places in the sky of a given location where the ISS can't go.

The python script below automatically grabs a TLE from the internet and then calculates 40,000 positions over +/- 2 days from the TLE's epoch, so it takes a few seconds. The two dots are the north and south poles of the celestial sphere. They are not really related to the question but were added to address questions in comments.

import numpy as np
import matplotlib.pyplot as plt

from skyfield.api import load, Loader, Topos

degs = 180./np.pi

stations_url = 'http://celestrak.com/NORAD/elements/stations.txt'

loader = Loader('~/Documents/foldername/SkyData')
data   = loader('de421.bsp')
ts     = loader.timescale()

earth = data['earth']
loc   = Topos(-39.2617, 177.8652, elevation_m=20)

sats  = load.tle(stations_url)
ISS   = sats['ISS (ZARYA)']
print(ISS)

tstep = np.arange(-2, 2, 0.0001)   # range of +/- 2 days from TLE epoch
time  = ts.tt(jd=ISS.epoch.tt + tstep)

alt, az = [x.radians for x in (ISS - loc).at(time).altaz()[:2]]
snipit = np.abs(az[1:] - az[:-1]) > 2  # snip the plotting at wrap-around
dalt, daz = degs*alt, degs*az
daz[:-1][snipit] = np.nan

plt.figure()
plt.plot(daz[:-1], dalt[:-1], linewidth=1)
plt.xlabel('azimuth (degs)')
plt.ylabel('altitude (degs)')
plt.plot(0, degs*loc.latitude.radians, 'or', markersize=8)
plt.plot(180, -degs*loc.latitude.radians, 'or', markersize=8)
plt.show()

• The alt/az positions should correspond to some particular celestial lat/lon, right? I would assume that these particular coordinates would be the North/South pole. – Phiteros Jun 23 '17 at 2:31
• @Phiteros no, remember the Earth is spinning, so at any moment a given alt/az is pointing in a different direction. The only ones that aren't constantly moving would be the poles themselves. I'll add dots on the plot to show where the poles are, (hint: alt = +/- latitude) – uhoh Jun 23 '17 at 2:36
• yeah, but you could subtract out the Earth's rotation and see what celestial coordinates those holes correspond to. – Phiteros Jun 23 '17 at 2:49
• @Phiteros no, they would not be single coordinates. The Earth is spinning, the centers of those holes would big (but not necessarily great) circles, not points. Only the poles are fixed in both spinning and non-spinning coordinates at the same time. Imagine shining a laser pointer into the sky (but don't do it!) Over one day It would sweep out a big circle on the celestial sphere. However if you pointed it at the poles, that circle would collapse to single points - the two dots on the plot. – uhoh Jun 23 '17 at 2:58
• I believe this is an artifact of periodicality, the ratio between ISS orbital period and Earth rotation period being close to some simple fraction. Try adjusting the time, from the +/-2 to a value that leads to the plot nearly-looping (end almost joining with start smoothly) then see how the plot "wanders" when offset by that period (say, plot consecutive intervals of that length with slightly varying colors). – SF. Jun 23 '17 at 9:28

1 Answer

Let's try with pictures...

First, the frame of reference: Earth. Frame bound to Earth center, spinning with Earth spin. This is the frame of reference which is "immobile" for you and me as we stand on Earth and look at the sky.

I try to draw all possible positions of the satellite in this frame of reference - first, in 3D:

I'm creating a shell - a hollow sphere with its top and bottom "caps" cut off. This shell is the area the satellite reaches, ever. This shell radius is Earth radius + ~400km.

Now let's move the camera to the observer on the surface of Earth - inside that shell - and make Earth vanish.

This is about the image we'll see if we gaze towards where the center of Earth used to be.

And if we squeeze the focal length really, really short - an extreme "fisheye" - we're getting this:

The two distinct features are two holes, distorted by perspective, one closer, one farther from you. One due north, mostly above us, though partially behind the horizon, one due south, all "below the ground".

Now try to take the 360 degrees panorama from your point of view - map your surroundings onto a cylindrical projection - horizon being the equator, poles being your local zenith and nadir. You'll arrive at your original image.

• OK got it! The 'unwrapped' graphics really help. And since altitude can only go +/- 90°, the azimuth has to jump by 180°. OK no reality distortion fields here, just geometry. Thanks. – uhoh Jun 26 '17 at 12:47