Skip to content

Access Geometry Plotting

plot_access_polar

plot_access_polar(access_windows, min_elevation=0.0, backend='matplotlib') -> object

Plot access window geometry in polar coordinates (azimuth/elevation).

Polar coordinates: - Radius: 90° - elevation (zenith at center, horizon at edge) - Theta: Azimuth (North at top, clockwise)

Parameters:

Name Type Description Default
access_windows list of dict

List of access window groups, each with: - access_window: AccessWindow object - propagator (Propagator, optional): Propagator for full trajectory - color (str, optional): Line color - line_width (float, optional): Line width - label (str, optional): Legend label

required
min_elevation float

Minimum elevation for plot edge (degrees). Default: 0.0

0.0
backend str

'matplotlib' or 'plotly'. Default: 'matplotlib'

'matplotlib'

Returns:

Type Description
object

Generated figure object

Example
import brahe as bh
import numpy as np

# Setup
eop = bh.FileEOPProvider.from_default_standard(bh.EarthOrientationFileType.STANDARD, True)
bh.set_global_eop_provider(eop)

epoch = bh.Epoch.from_datetime(2024, 1, 1, 0, 0, 0.0, 0.0, bh.TimeSystem.UTC)
oe = np.array([bh.R_EARTH + 500e3, 0.01, np.radians(97.8), 0.0, 0.0, 0.0])
state = bh.state_osculating_to_cartesian(oe, bh.AngleFormat.RADIANS)

prop = bh.KeplerianPropagator.from_eci(epoch, state, 60.0).with_name("Satellite")
location = bh.PointLocation(np.radians(40.7128), np.radians(-74.0060), 0.0).with_name("NYC")
constraint = bh.ElevationConstraint(min_elevation_deg=10.0)

# Compute access
windows = bh.location_accesses([location], [prop], epoch, epoch + 86400.0, constraint)

# Plot first access window
fig = bh.plot_access_polar(
    [{"access_window": windows[0], "propagator": prop, "label": "Pass 1"}],
    min_elevation=10.0,
    backend='matplotlib'
)

plot_access_elevation

plot_access_elevation(access_windows, backend='matplotlib') -> object

Plot elevation angle vs time for access windows.

Parameters:

Name Type Description Default
access_windows list of dict

List of access window groups, each with: - access_window: AccessWindow object - propagator (Propagator, optional): Propagator for full trajectory - color (str, optional): Line color - line_width (float, optional): Line width - label (str, optional): Legend label

required
backend str

'matplotlib' or 'plotly'. Default: 'matplotlib'

'matplotlib'

Returns:

Type Description
object

Generated figure object

Example
import brahe as bh
import numpy as np

# Setup (same as polar plot example)
eop = bh.FileEOPProvider.from_default_standard(bh.EarthOrientationFileType.STANDARD, True)
bh.set_global_eop_provider(eop)

epoch = bh.Epoch.from_datetime(2024, 1, 1, 0, 0, 0.0, 0.0, bh.TimeSystem.UTC)
oe = np.array([bh.R_EARTH + 500e3, 0.01, np.radians(97.8), 0.0, 0.0, 0.0])
state = bh.state_osculating_to_cartesian(oe, bh.AngleFormat.RADIANS)

prop = bh.KeplerianPropagator.from_eci(epoch, state, 60.0).with_name("Satellite")
location = bh.PointLocation(np.radians(40.7128), np.radians(-74.0060), 0.0).with_name("NYC")
constraint = bh.ElevationConstraint(min_elevation_deg=10.0)

windows = bh.location_accesses([location], [prop], epoch, epoch + 86400.0, constraint)

# Plot elevation profile
fig = bh.plot_access_elevation(
    [{"access_window": w, "propagator": prop, "label": f"Pass {i+1}"} for i, w in enumerate(windows[:3])],
    backend='matplotlib'
)