Events#

An Event in Satcat is a collection of CDMs which all predict the same physical interaction based on different data sources generated at different times. Satcat automatically aggregates incoming CDMs from various sources into Events.

Fetching Events#

The Satcat SDK provides methods for fetching events in which the user’s organization is involved. To fetch events, use list_events:

...
events = client.events.list_events()

Fetching Conjunctions#

An Event object is an abstraction of conjunctions involving the same two objects around the same time of closest approach (TCA). To list Conjunctions directly, use list_conjunctions:

...
# Get all conjunctions
conjunctions = client.events.list_conjunctions()

# Get conjunctions for a specific event
conjunctions = client.events.list_event_conjunctions(event_key = event.key)

The listing methods above return a list of ConjunctionMinimal objects, which do not contain the full set of information. To get the full ConjunctionDetailed object, use get_conjunction:

...
# fetch by `cdm_id`
conjunction = client.events.get_conjunction(conjunctions[0].cdm_id)

# fetch by `key`
conjunction = client.events.get_conjunction(conjunctions[0].key)

Note

get_conjunction can be used to fetch a conjunction by either its cdm_id or key. The key is a unique identifier for the conjunction within the Satcat system, while the cdm_id is a unique identifier for a conjunction generated by CSpOC. Note that for conjunctions generated by Satcat (for example from screenings), cdm_id will be null while key will not.

“Latest” Conjunctions and Data Source Combinations#

Usually when analyzing a conjunction, it’s desirable to examine only the latest CDM for a given data source/originator combo, which takes into account the latest tracking updates for both objects. You can use Satcat’s powerful filters parameter with the list_event_conjunctions function to retrieve only the latest conjunctions for each data source combination:

latest_cdms_for_event = client.events.list_event_conjunctions(
    event_key = event.key,
    filters=[
        dict(field='latest', value=True)
    ]
)