Skip to content

Access Windows

Access windows represent time periods when satellites can access ground locations.

AccessWindow

AccessWindow

AccessWindow(window_open: Epoch, window_close: Epoch)

An access window representing a period of time when access constraints are satisfied.

AccessWindow stores the opening and closing times of an access period, along with computed properties for that window.

Parameters:

Name Type Description Default
window_open Epoch

Opening time of the access window

required
window_close Epoch

Closing time of the access window

required
Example
import brahe as bh

# Create an access window
t_open = bh.Epoch(2024, 1, 1, 12, 0, 0.0)
t_close = bh.Epoch(2024, 1, 1, 12, 10, 0.0)
window = bh.AccessWindow(t_open, t_close)

# Access window properties
print(f"Duration: {window.duration()} seconds")
print(f"Midpoint: {window.midtime()}")

Initialize instance.

asc_dsc property

asc_dsc: AscDsc

Get ascending/descending pass type.

Returns:

Name Type Description
AscDsc AscDsc

Pass type enum value

azimuth_close property

azimuth_close: float

Get azimuth angle at window closing (degrees, 0-360).

Returns:

Name Type Description
float float

Azimuth at window close

azimuth_open property

azimuth_open: float

Get azimuth angle at window opening (degrees, 0-360).

Returns:

Name Type Description
float float

Azimuth at window open

center_alt property

center_alt: float

Get location center altitude (meters).

Returns:

Name Type Description
float float

Altitude in meters

center_ecef property

center_ecef: list[float]

Get location center ECEF coordinates (meters).

Returns:

Type Description
list[float]

list[float]: ECEF coordinates [x, y, z] in meters

center_lat property

center_lat: float

Get location center latitude (degrees).

Returns:

Name Type Description
float float

Latitude in degrees

center_lon property

center_lon: float

Get location center longitude (degrees).

Returns:

Name Type Description
float float

Longitude in degrees

duration property

duration: float

Get the duration of the access window in seconds.

Returns:

Name Type Description
float float

Duration in seconds

elevation_close property

elevation_close: float

Get elevation angle at window closing (degrees).

Returns:

Name Type Description
float float

Elevation at window close

elevation_max property

elevation_max: float

Get maximum elevation angle during access (degrees).

Returns:

Name Type Description
float float

Maximum elevation angle

elevation_min property

elevation_min: float

Get minimum elevation angle during access (degrees).

Returns:

Name Type Description
float float

Minimum elevation angle

elevation_open property

elevation_open: float

Get elevation angle at window opening (degrees).

Returns:

Name Type Description
float float

Elevation at window open

end property

end: Epoch

Get the end time of the access window (alias for window_close).

Returns:

Name Type Description
Epoch Epoch

Closing time of the window

id property

Get the access window numeric ID.

Returns:

Type Description
Optional[int]

Optional[int]: Window ID, or None if not set

local_time property

local_time: float

Get local solar time at window midpoint (seconds since midnight, 0-86400).

Returns:

Name Type Description
float float

Local time in seconds

location_id property

location_id: Optional[int]

Get the location ID if available.

Returns:

Type Description
Optional[int]

Optional[int]: ID of the location, or None if not set

location_name property

location_name: Optional[str]

Get the location name if available.

Returns:

Type Description
Optional[str]

Optional[str]: Name of the location, or None if not set

location_uuid property

location_uuid: Optional[str]

Get the location UUID if available.

Returns:

Type Description
Optional[str]

Optional[str]: UUID of the location as string, or None if not set

look_direction property

look_direction: LookDirection

Get look direction (Left or Right).

Returns:

Name Type Description
LookDirection LookDirection

Look direction enum value

midtime property

midtime: Epoch

Get the midpoint time of the access window.

Returns:

Name Type Description
Epoch Epoch

Midpoint time (average of start and end)

name property

name: Optional[str]

Get the access window name (auto-generated or user-set).

Returns:

Type Description
Optional[str]

Optional[str]: Window name, or None if not set

off_nadir_max property

off_nadir_max: float

Get maximum off-nadir angle during access (degrees).

Returns:

Name Type Description
float float

Maximum off-nadir angle

off_nadir_min property

off_nadir_min: float

Get minimum off-nadir angle during access (degrees).

Returns:

Name Type Description
float float

Minimum off-nadir angle

properties property

properties: AccessPropertiesView

Get the access properties as a live view.

Returns a proxy that delegates reads and writes back to this window, so mutations to additional properties persist.

Returns:

Name Type Description
AccessPropertiesView AccessPropertiesView

Live view into this window's properties

satellite_id property

satellite_id: Optional[int]

Get the satellite/object ID if available.

Returns:

Type Description
Optional[int]

Optional[int]: ID of the satellite, or None if not set

satellite_name property

satellite_name: Optional[str]

Get the satellite/object name if available.

Returns:

Type Description
Optional[str]

Optional[str]: Name of the satellite, or None if not set

satellite_uuid property

satellite_uuid: Optional[str]

Get the satellite UUID if available.

Returns:

Type Description
Optional[str]

Optional[str]: UUID of the satellite as string, or None if not set

start property

start: Epoch

Get the start time of the access window (alias for window_open).

Returns:

Name Type Description
Epoch Epoch

Opening time of the window

t_end property

t_end: Epoch

Get the end time of the access window (alias for window_close/end).

Returns:

Name Type Description
Epoch Epoch

Closing time of the window

t_start property

t_start: Epoch

Get the start time of the access window (alias for window_open/start).

Returns:

Name Type Description
Epoch Epoch

Opening time of the window

uuid property

uuid: Optional[str]

Get the access window UUID.

Returns:

Type Description
Optional[str]

Optional[str]: UUID as string, or None if not set

window_close property

window_close: Epoch

Get the window closing time.

Returns:

Name Type Description
Epoch Epoch

Window closing time

window_open property

window_open: Epoch

Get the window opening time.

Returns:

Name Type Description
Epoch Epoch

Window opening time

AccessProperties

AccessProperties

AccessProperties(azimuth_open: Any, azimuth_close: Any, elevation_min: Any, elevation_max: Any, elevation_open: Any, elevation_close: Any, off_nadir_min: Any, off_nadir_max: Any, local_time: Any, look_direction: Any, asc_dsc: Any, center_lon: Any, center_lat: Any, center_alt: Any, center_ecef: Any)

Properties computed for an access window.

AccessProperties contains geometric properties (azimuth, elevation, off-nadir angles, local time, look direction, ascending/descending) computed over an access window, plus location coordinates, plus a dictionary of additional custom properties.

Attributes:

Name Type Description
azimuth_open float

Azimuth angle at window opening (degrees, 0-360)

azimuth_close float

Azimuth angle at window closing (degrees, 0-360)

elevation_min float

Minimum elevation angle (degrees)

elevation_max float

Maximum elevation angle (degrees)

elevation_open float

Elevation angle at window opening (degrees)

elevation_close float

Elevation angle at window closing (degrees)

off_nadir_min float

Minimum off-nadir angle (degrees)

off_nadir_max float

Maximum off-nadir angle (degrees)

local_time float

Local solar time (seconds since midnight, 0-86400)

look_direction LookDirection

Required look direction (Left or Right)

asc_dsc AscDsc

Pass type (Ascending or Descending)

center_lon float

Location center longitude (degrees)

center_lat float

Location center latitude (degrees)

center_alt float

Location center altitude (meters)

center_ecef list[float]

Location center ECEF coordinates [x, y, z] (meters)

Example
import brahe as bh

# Access properties are typically computed by the access computation system
# This example shows accessing the properties
props = ...  # From access computation

print(f"Azimuth at open: {props.azimuth_open}°")
print(f"Max elevation: {props.elevation_max}°")
print(f"Look direction: {props.look_direction}")

# Access additional custom properties
if "signal_strength" in props.additional:
    print(f"Signal: {props.additional['signal_strength']}")

Initialize instance.

additional property

additional: AdditionalPropertiesDict

Get additional properties as a dict-like wrapper.

Returns a dictionary-like object that automatically converts between Python types and internal PropertyValue representation.

Supported Python types: - float -> Scalar - list[float] -> Vector - bool -> Boolean - str -> String - dict -> Json

Returns:

Name Type Description
AdditionalPropertiesDict AdditionalPropertiesDict

Dict-like wrapper for additional properties

Example
# Dict-style assignment
props.additional["doppler_shift"] = 2500.0
props.additional["snr_values"] = [10.5, 12.3, 15.1]
props.additional["has_eclipse"] = False

# Dict-style access
print(props.additional["doppler_shift"])  # 2500.0

# Dict methods
if "doppler_shift" in props.additional:
    del props.additional["doppler_shift"]

# Iteration
for key in props.additional.keys():
    print(key, props.additional[key])

asc_dsc property

asc_dsc: Any

TODO: Add docstring

azimuth_close property

azimuth_close: Any

TODO: Add docstring

azimuth_open property

azimuth_open: Any

TODO: Add docstring

center_alt property

center_alt: Any

TODO: Add docstring

center_ecef property

center_ecef: Any

TODO: Add docstring

center_lat property

center_lat: float

Get location center latitude (degrees).

Returns:

Name Type Description
float float

Latitude in degrees

center_lon property

center_lon: float

Get location center longitude (degrees).

Returns:

Name Type Description
float float

Longitude in degrees

elevation_close property

elevation_close: Any

TODO: Add docstring

elevation_max property

elevation_max: Any

TODO: Add docstring

elevation_min property

elevation_min: Any

TODO: Add docstring

elevation_open property

elevation_open: Any

TODO: Add docstring

local_time property

local_time: Any

TODO: Add docstring

look_direction property

look_direction: Any

TODO: Add docstring

off_nadir_max property

off_nadir_max: Any

TODO: Add docstring

off_nadir_min property

off_nadir_min: Any

TODO: Add docstring

builder staticmethod

Create a builder for constructing AccessProperties.

Every field is required and is set through a chained setter call; build() returns an error naming every field left unset instead of applying a default.

Returns:

Name Type Description
AccessPropertiesBuilder AccessPropertiesBuilder

New builder instance, with all fields unset.

Example
import brahe as bh

props = (
    bh.AccessProperties.builder()
    .azimuth_open(45.0)
    .azimuth_close(135.0)
    .elevation_min(10.0)
    .elevation_max(85.0)
    .elevation_open(12.0)
    .elevation_close(10.5)
    .off_nadir_min(5.0)
    .off_nadir_max(80.0)
    .local_time(43200.0)
    .look_direction(bh.LookDirection.RIGHT)
    .asc_dsc(bh.AscDsc.ASCENDING)
    .center_lon(0.0)
    .center_lat(45.0)
    .center_alt(0.0)
    .center_ecef([4517.59e3, 4517.59e3, 0.0])
    .build()
)

AccessPropertiesBuilder

AccessPropertiesBuilder

AccessPropertiesBuilder()

Builder for AccessProperties.

Created by AccessProperties.builder(). Every field is required and is set through a chained setter call; build() returns an error listing every field left unset instead of applying a default.

Example
import brahe as bh

props = (
    bh.AccessProperties.builder()
    .azimuth_open(45.0)
    .azimuth_close(135.0)
    .elevation_min(10.0)
    .elevation_max(85.0)
    .elevation_open(12.0)
    .elevation_close(10.5)
    .off_nadir_min(5.0)
    .off_nadir_max(80.0)
    .local_time(43200.0)
    .look_direction(bh.LookDirection.RIGHT)
    .asc_dsc(bh.AscDsc.ASCENDING)
    .center_lon(0.0)
    .center_lat(45.0)
    .center_alt(0.0)
    .center_ecef([4517.59e3, 4517.59e3, 0.0])
    .build()
)

Initialize instance.

additional method descriptor

additional(key: str, value: Union[float, list[float], bool, str, dict]) -> AccessPropertiesBuilder

Add a custom property to the additional-properties map.

May be called repeatedly; each call inserts one key/value pair. Unlike the named fields, additional properties are optional and never reported as missing by build().

Parameters:

Name Type Description Default
key str

Property name.

required
value float or list[float] or bool or str or dict

Property value.

required

Returns:

Name Type Description
AccessPropertiesBuilder AccessPropertiesBuilder

The builder, for method chaining.

asc_dsc method descriptor

asc_dsc(asc_dsc: AscDsc) -> AccessPropertiesBuilder

Set the ascending/descending pass indicator.

Parameters:

Name Type Description Default
asc_dsc AscDsc

Ascending or descending pass

required

Returns:

Name Type Description
AccessPropertiesBuilder AccessPropertiesBuilder

The builder, for method chaining.

azimuth_close method descriptor

azimuth_close(azimuth_close: float) -> AccessPropertiesBuilder

Set the azimuth at window close.

Parameters:

Name Type Description Default
azimuth_close float

Azimuth at window close (degrees, 0-360)

required

Returns:

Name Type Description
AccessPropertiesBuilder AccessPropertiesBuilder

The builder, for method chaining.

azimuth_open method descriptor

azimuth_open(azimuth_open: float) -> AccessPropertiesBuilder

Set the azimuth at window open.

Parameters:

Name Type Description Default
azimuth_open float

Azimuth at window open (degrees, 0-360)

required

Returns:

Name Type Description
AccessPropertiesBuilder AccessPropertiesBuilder

The builder, for method chaining.

build method descriptor

build() -> AccessProperties

Build the AccessProperties, validating that every field was set.

This consumes the builder. The builder is single-use: calling build() a second time raises RuntimeError.

Returns:

Name Type Description
AccessProperties AccessProperties

The constructed properties.

Raises:

Type Description
RuntimeError

If the builder was already consumed by a prior build() call, or if any required field was never set.

center_alt method descriptor

center_alt(center_alt: float) -> AccessPropertiesBuilder

Set the location center altitude.

Parameters:

Name Type Description Default
center_alt float

Location altitude (meters)

required

Returns:

Name Type Description
AccessPropertiesBuilder AccessPropertiesBuilder

The builder, for method chaining.

center_ecef method descriptor

center_ecef(center_ecef: list[float]) -> AccessPropertiesBuilder

Set the location center ECEF coordinates.

Parameters:

Name Type Description Default
center_ecef list[float]

Location ECEF coordinates [x, y, z] (meters)

required

Returns:

Name Type Description
AccessPropertiesBuilder AccessPropertiesBuilder

The builder, for method chaining.

center_lat method descriptor

center_lat(center_lat: float) -> AccessPropertiesBuilder

Set the location center latitude.

Parameters:

Name Type Description Default
center_lat float

Location latitude (degrees)

required

Returns:

Name Type Description
AccessPropertiesBuilder AccessPropertiesBuilder

The builder, for method chaining.

center_lon method descriptor

center_lon(center_lon: float) -> AccessPropertiesBuilder

Set the location center longitude.

Parameters:

Name Type Description Default
center_lon float

Location longitude (degrees)

required

Returns:

Name Type Description
AccessPropertiesBuilder AccessPropertiesBuilder

The builder, for method chaining.

elevation_close method descriptor

elevation_close(elevation_close: float) -> AccessPropertiesBuilder

Set the elevation angle at window close.

Parameters:

Name Type Description Default
elevation_close float

Elevation at window close (degrees)

required

Returns:

Name Type Description
AccessPropertiesBuilder AccessPropertiesBuilder

The builder, for method chaining.

elevation_max method descriptor

elevation_max(elevation_max: float) -> AccessPropertiesBuilder

Set the maximum elevation angle during access.

Parameters:

Name Type Description Default
elevation_max float

Maximum elevation angle (degrees)

required

Returns:

Name Type Description
AccessPropertiesBuilder AccessPropertiesBuilder

The builder, for method chaining.

elevation_min method descriptor

elevation_min(elevation_min: float) -> AccessPropertiesBuilder

Set the minimum elevation angle during access.

Parameters:

Name Type Description Default
elevation_min float

Minimum elevation angle (degrees)

required

Returns:

Name Type Description
AccessPropertiesBuilder AccessPropertiesBuilder

The builder, for method chaining.

elevation_open method descriptor

elevation_open(elevation_open: float) -> AccessPropertiesBuilder

Set the elevation angle at window open.

Parameters:

Name Type Description Default
elevation_open float

Elevation at window open (degrees)

required

Returns:

Name Type Description
AccessPropertiesBuilder AccessPropertiesBuilder

The builder, for method chaining.

local_time method descriptor

local_time(local_time: float) -> AccessPropertiesBuilder

Set the local solar time at window midtime.

Parameters:

Name Type Description Default
local_time float

Local solar time at midtime (seconds since midnight)

required

Returns:

Name Type Description
AccessPropertiesBuilder AccessPropertiesBuilder

The builder, for method chaining.

look_direction method descriptor

look_direction(look_direction: LookDirection) -> AccessPropertiesBuilder

Set the look direction.

Parameters:

Name Type Description Default
look_direction LookDirection

Look direction (Left or Right)

required

Returns:

Name Type Description
AccessPropertiesBuilder AccessPropertiesBuilder

The builder, for method chaining.

off_nadir_max method descriptor

off_nadir_max(off_nadir_max: float) -> AccessPropertiesBuilder

Set the maximum off-nadir angle during access.

Parameters:

Name Type Description Default
off_nadir_max float

Maximum off-nadir angle (degrees)

required

Returns:

Name Type Description
AccessPropertiesBuilder AccessPropertiesBuilder

The builder, for method chaining.

off_nadir_min method descriptor

off_nadir_min(off_nadir_min: float) -> AccessPropertiesBuilder

Set the minimum off-nadir angle during access.

Parameters:

Name Type Description Default
off_nadir_min float

Minimum off-nadir angle (degrees)

required

Returns:

Name Type Description
AccessPropertiesBuilder AccessPropertiesBuilder

The builder, for method chaining.


See Also