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'
)