usersatellite_gateway_to_constellation
cosmica.topology.usersatellite_gateway_to_constellation
__all__
module-attribute
__all__ = [
"HybridUS2CG2CTopologyBuilder",
"build_hybrid_us2c_g2c_topology",
]
logger
module-attribute
logger = getLogger(__name__)
HybridUS2CG2CTopologyBuilder
HybridUS2CG2CTopologyBuilder(
max_distance: float = float("inf"),
max_relative_angular_velocity: float = float("inf"),
sun_exclusion_angle: float = 0.0,
)
Hybrid topology builder for user satellites and ground stations to constellation.
This builder combines the functionality of MaxConnectionTimeUS2CTopologyBuilder and MaxVisibilityHandOverG2CTopologyBuilder. It prioritizes user satellite connections and then optimizes ground station connections based on maximum visibility duration.
For user satellites, constraints include distance, sun exclusion angle, and relative angular velocity. For ground stations, constraints include elevation angle and sun exclusion angle.
Source code in src/cosmica/topology/usersatellite_gateway_to_constellation.py
34 35 36 37 38 39 40 41 42 | |
max_distance
instance-attribute
max_distance = max_distance
max_relative_angular_velocity
instance-attribute
max_relative_angular_velocity = (
max_relative_angular_velocity
)
sun_exclusion_angle
instance-attribute
sun_exclusion_angle = sun_exclusion_angle
build
build(
*,
constellation: Constellation,
user_satellites: Collection[UserSatellite],
ground_nodes: Collection[
Gateway | StationaryOnGroundUser
],
dynamics_data: DynamicsData
) -> list[Graph]
Build hybrid topology connecting user satellites and ground stations to constellation.
Source code in src/cosmica/topology/usersatellite_gateway_to_constellation.py
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | |
build_hybrid_us2c_g2c_topology
build_hybrid_us2c_g2c_topology(
constellation: Constellation,
*,
user_satellites: Collection[UserSatellite],
ground_nodes: Collection[
Gateway | StationaryOnGroundUser
],
dynamics_data: DynamicsData,
max_distance: float = float("inf"),
max_relative_angular_velocity: float = float("inf"),
sun_exclusion_angle: float = 0.0
) -> list[Graph]
Build hybrid topology connecting user satellites and ground stations to constellation.
Combines user-satellite and ground-station connectivity. User satellite connections are prioritized, then ground station connections are optimized based on maximum visibility duration.
This function only needs the satellite set, so it accepts Constellation
with any SatelliteId type.
| PARAMETER | DESCRIPTION |
|---|---|
constellation
|
Constellation (any SatelliteId type).
TYPE:
|
user_satellites
|
User satellites to connect.
TYPE:
|
ground_nodes
|
Ground stations or users.
TYPE:
|
dynamics_data
|
Time-series dynamics data.
TYPE:
|
max_distance
|
Maximum distance constraint for user satellite links.
TYPE:
|
max_relative_angular_velocity
|
Maximum relative angular velocity constraint.
TYPE:
|
sun_exclusion_angle
|
Sun exclusion angle constraint (radians).
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[Graph]
|
A list of networkx Graphs, one per time step. |
Source code in src/cosmica/topology/usersatellite_gateway_to_constellation.py
398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 | |