For the complete documentation index, see llms.txt.
An AOI overflight event is a predicted access window during which a payload’s field of view (FOV) footprint overlaps the AOI. Each event is attributed to the specific payload whose FOV produced the access, shown alongside the spacecraft that carries it. The events surface lives at the bottom of the AOI Overview page; it visualises every event in a 7-day window on a timeline and lists every event below the timeline.
Route: Visible on the Events band of the AOI Overview page once you select an AOI.
Events Surface Layout
The events surface composes a header of filters plus the Recompute action, a binned 7-day timeline, and the per-pass list:
| Element | Description |
|---|
| Visibility filter | Single-select dropdown (All / Usable / Blinded). Narrows the timeline and list by each pass’s blinding verdict. |
| Payload filter | Multi-select dropdown. Selecting one or more payloads narrows both the timeline and the list to those instruments. |
| Spacecraft filter | Multi-select dropdown. Selecting one or more spacecraft narrows both the timeline and the list to those vehicles. |
| Recompute button | Refreshes the 7-day overflight schedule across every spacecraft in the workspace. |
| 7-day timeline | A binned histogram of upcoming passes — hourly bins, bar height by pass count, stacked and coloured by spacecraft. |
| Column-less list | Each event renders as a row with embedded labels (no table columns). Click a row to select it and view its full per-event detail in the adjacent panel. |
7-Day Timeline
The timeline spans the now…now+7d window as a binned histogram of upcoming passes. The window is split into hourly bins, and each bin renders a vertical bar whose height reflects how many passes start in that hour. Within a bar, the coloured segments are the contributing spacecraft — each in its workspace colour, stacked. A day axis (e.g. Jun 11 … Jun 18, UTC) runs beneath.
The payload, spacecraft, and visibility filters apply to both the timeline and the list — narrowing any filter rebins the histogram to the matching passes.
Column-Less Event List
The list renders each pass as a single row with embedded labels — not a table. From left to right: the spacecraft name, an eye / eye-off blinding indicator (an open eye for a clean pass, a struck-through eye-off for a blinded one — see Blinding below), the payload name (the instrument) in a muted label, and the entry time formatted relative to now (e.g. in 2h 30m, in 1d 4h). The off-boresight angle, peak elevation, and duration are not shown on the row — they live in the per-event detail panel.
Clicking a row selects it for the per-event detail panel. Only one row is selected at a time — clicking another row swaps the selection. The detail panel renders beside the list on viewports wider than ~768 px (the two columns side-by-side fill the events band) and beneath the list on narrower viewports (the panel stacks under the selected row).
When a spacecraft filter is active, an N of M shown indicator appears between the timeline and the list so you always know how many events the filter is hiding.
Per-Event Detail
The detail panel exposes every operator-facing field on the event:
| Field | Description |
|---|
| Entry | The earliest instant the payload’s FOV footprint overlaps the AOI (UTC). |
| Peak | The instant at which the off-boresight angle reaches its minimum — the moment of closest FOV alignment (UTC). |
| Exit | The latest instant the payload’s FOV footprint still overlaps the AOI (UTC). |
| Duration | Total duration of the FOV access window. |
| Payload | Name of the instrument whose field of view produced this access event. |
| Off-boresight | The payload’s off-boresight angle at the peak instant, in degrees (one decimal place). This is the headline FOV metric for the event. |
| Peak elevation | Elevation angle of the spacecraft above the horizon, in degrees (two decimal places), sampled at the peak instant. Secondary readout retained alongside the off-boresight angle. |
| Peak point | Geodetic latitude / longitude (WGS-84, °) of the AOI point that observed the peak elevation, rounded to two decimals. |
| Azimuth at peak | Azimuth angle in degrees from the peak point to the spacecraft at the peak instant, measured clockwise from local north. |
| Sub-satellite | Geodetic latitude / longitude (WGS-84, °) of the ground point directly below the spacecraft at the peak instant. |
| Sub-intervals | Count of disjoint access windows when the AOI shape produced more than one for the same pass. Surfaced only when the count is greater than 1. |
| Pieces | Per-piece breakdown for multipolygon AOIs: off-boresight angle, peak point, and peak elevation for each piece. Surfaced only when the AOI is a multipolygon. |
| Computed at | The instant the event was last refreshed (UTC). |
Multipolygon AOIs that span very different latitudes can produce events whose Peak point sits on one piece of the geometry — the Pieces breakdown surfaces the per-piece off-boresight angle, peak point, and peak elevation so you can confirm which part of the AOI the payload could best see.
Non-convex AOIs that produce more than one disjoint access window during a single pass surface the Sub-intervals count so you can see how the pass split.
Filtering by Payload
The Payload filter appears beside the Spacecraft filter at the top of the events surface. Use it to narrow the list to events from one or more specific instruments:
| Selection | Effect |
|---|
| No selection (default) | The timeline and list show events from all payloads on all spacecraft. |
| One or more payloads selected | Only events attributed to the selected instruments are shown. |
The payload filter’s options are sourced from the instruments that actually contributed events to the current forecast — payloads that produced no access for this AOI are not listed. The filter resets whenever you switch between AOIs.
Blinding
A bright body — the Sun or the Moon — drifting into a payload’s field of view during an overflight blinds that imaging window: the body’s glare spoils the imagery the pass would otherwise capture. Every overflight event carries a blinding verdict so you can see at a glance which passes are worth tasking and which are spoiled.
Blinding Indicator
Each event row carries an icon-only blinding indicator beside the spacecraft name — its glyph encodes the verdict at a glance, and hovering it (or reading its screen-reader label) reveals the descriptive label naming the responsible body:
| Indicator | Hover label | Meaning |
|---|
| Open eye (muted) | Clean | No bright body enters the payload’s field of view during the pass — the window is usable. |
| Struck-through eye-off (amber) | Blinded (Sun) | The Sun enters the payload’s field of view during the pass — the window is spoiled for imaging. |
| Struck-through eye-off (amber) | Blinded (Moon) | The Moon enters the payload’s field of view during the pass. |
| Struck-through eye-off (amber) | Blinded (Sun, Moon) | Both the Sun and the Moon enter the field of view during the pass. |
A clean pass (open eye) is an imaging opportunity worth tasking; a blinded pass (eye-off) is spoiled, and the hover label names the body so you know what is spoiling the window.
A body counts as blinding only if the payload can actually see it. A body whose direction falls inside the field of view but which is hidden behind the Earth is never flagged as blinding — only an un-occulted body the payload can see is counted. This keeps a pass from being marked spoiled by a Sun or Moon the Earth is blocking.
Blinded Sub-Intervals
Selecting a blinded event reveals its blinded sub-intervals in the detail panel — one row per interval during which a body sits inside the field of view and is visible:
| Field | Description |
|---|
| Body | The bright body responsible — Sun or Moon. |
| Start / End | The start and end of the blinded interval within the pass (UTC). A single pass can carry more than one sub-interval for the same body — for example when a body crosses the field of view, passes behind the Earth, and re-emerges. |
| Intrusion depth | The smallest angle, in degrees, between the payload boresight and the body during the interval. A smaller angle means the body came closer to the boresight — a deeper, worse intrusion; a value near 0° means the body crossed directly across the centre of the field of view. |
A clean event’s detail instead shows the note Sun & Moon stay out of the field of view, confirming the whole window is free of bright-body glare.
Filtering by Spacecraft
The Spacecraft filter is a multi-select dropdown beside the Payload filter. Its options are spacecraft that contributed at least one event to the current forecast — vehicles that produced no event for this AOI are silently excluded. The filter resets whenever you switch between AOIs.
When a spacecraft filter is active, an N of M shown indicator appears beneath the timeline.
Filtering by Visibility
The Visibility filter is a single-select dropdown that sits alongside the spacecraft and payload filters at the top of the events surface and narrows the timeline and list by each event’s blinding verdict. It defaults to All; selecting an option applies immediately:
| Option | Effect |
|---|
| All | Default. Every event is shown, clean and blinded alike. |
| Usable | Only clean (un-blinded) events are shown — the imaging opportunities worth tasking. |
| Blinded | Only blinded events are shown. |
The filter resets to All whenever you switch between AOIs. Set it to Usable to narrow a busy 7-day forecast down to the passes that will actually return clean imagery. When Usable leaves no events in view, the list shows No usable (un-blinded) passes for this AOI in the next 7 days so an all-blinded forecast reads clearly rather than as a blank list.
The Recompute Action
Click Recompute to refresh the 7-day overflight schedule for the AOI across every spacecraft in the workspace. The button shows a spinner while the recompute runs; the timeline and the list keep the previously computed rows visible during the run. The Last computed label refreshes on success.
The Recompute button is disabled when:
- The AOI is Inactive (toggle it active again on the Overview page).
- The AOI is Out-of-window (its validity window has not started yet or has already ended).
- A recompute is already running.
Auto-Trigger on Edit
Editing any of the following AOI fields triggers an automatic recompute when you commit the edit — you do not need to click Recompute afterwards:
- Geometry edits (any vertex, disk centre or radius, multipolygon piece).
- Validity window changes (either bound, set or cleared).
- Flipping the AOI active toggle in the identity hero (Active ↔ Inactive).
Identity fields — name, description, tags, colour — do not trigger a recompute. Existing events stay in the list after an identity-field-only edit.
Timing Accuracy
Event timing accuracy is better than 1 second at day 1 of the forecast horizon. For spacecraft in LEO at altitudes below 500 km, the timing may drift up to a few seconds at day 7 because of atmospheric drag uncertainty. After a fresh orbit determination or a known manoeuvre, click Recompute again to anchor the schedule on the new ephemeris.
When an orbit is stale or unusable
A recompute draws each spacecraft’s overflights from a fresh orbit. A spacecraft’s orbit age is measured from its latest state vector — the position and velocity at an epoch provided through orbit determination, an OPM import, or manual entry. As that age grows it crosses two levels in turn — the degraded level, then the stale level — and a recompute treats each spacecraft individually, so an aging or unusable orbit on one spacecraft never stops the rest of the forecast.
Because you trigger the recompute yourself — by clicking Recompute or committing an edit — that press is itself the deliberate action. An aging or stale spacecraft is therefore surfaced as an inline warning above the event list, naming the spacecraft, rather than holding the forecast behind a confirmation. What each affected spacecraft does:
| Orbit state | What the recompute does |
|---|
| Fresh (within both levels) | Returns its overflight events into the timeline and list as normal. |
| Degraded (past the degraded level) | Computes its overflights from the platform-fetched public TLE and returns events normally. The spacecraft is named in the orbit-data-age footer with a Degraded tag. |
| Stale (past the stale level) | Is left out of the recompute rather than silently dropped: a named warning panel appears above the event list — reading This spacecraft’s orbit is stale, with the orbit’s age (last determined N days ago) and the level it crossed (exceeds your N-day threshold) — so you can see exactly which spacecraft was excluded. When the fallback orbit is itself stale, the panel adds the public-TLE fallback is also stale. Every fresh spacecraft in the same recompute still returns its events below. |
| No usable orbit | A spacecraft with no orbit data of any kind contributes no events — there is nothing to compute from. It is left out of the forecast while every other spacecraft computes normally. The remedy is to add tracking data on the Spacecraft page. |
Both N values are whole days — the spacecraft’s actual orbit age and your configured stale level. To bring an excluded spacecraft back into the forecast, provide a fresher state vector for it (or raise the stale level), then click Recompute. The stale and degraded levels are workspace-wide values set once in Settings → Orbits → Orbit age (stale level default 14 days), the same values that govern the Keplerian-elements plot, the ground-track map, and ground-station passes together with AOI overflight. See Orbit age for the workspace-wide policy and the block message.
Every spacecraft affected at either level is also named in the unified orbit-data-age footer at the bottom of the page — tagged Degraded at the degraded level, or Blocked once past the stale level — so the affected spacecraft read at a glance across the whole workspace, not only on this AOI.
Empty States
When the AOI or workspace is in a state that explains why no events are displayed, the events surface replaces the timeline and list with a guidance card. Only one card is shown at a time, and the priority order is:
| State | Headline shown | When it appears |
|---|
| Recompute error | Recompute failed — try again | The most recent recompute rejected. The error clears the next time you click Recompute. |
| Outside validity window | Outside validity window | The current time falls outside the AOI’s validity bounds. |
| AOI inactive | AOI is inactive | The AOI has been paused from the identity hero. |
| No payload-equipped spacecraft | To see FOV access, configure a payload | No spacecraft in the workspace has a payload configured. Add a payload to a spacecraft to generate FOV access events. |
| Never computed | No overflights computed yet | The AOI has never had a recompute run. Click Recompute to generate the forecast. |
| No FOV access in the window | No FOV access in the next 7 days | The recompute completed but no payload’s field of view crosses this AOI in the next 7 days. Check spacecraft orbit data or recompute. |
Spacecraft that have no orbital data are silently excluded from the forecast — only vehicles that actually contribute events appear in the spacecraft filter.
Related Pages
- Areas of Interest overview — the page that hosts the events surface, plus the identity hero and geometry block.
- AOI Map — the world map view, where each AOI’s hovercard surfaces its next overflight and a compact 7-day timeline.
- Create an AOI — define an AOI and configure its lifecycle.
- GeoJSON file format — accepted geometry types for AOIs created from a GeoJSON document.