GCAT Functions¶
Functions and types for accessing Jonathan McDowell's GCAT satellite catalogs (SATCAT and PSATCAT).
All functions are available via brahe.datasets.gcat.<function_name>.
gcat_get_satcat¶
gcat_get_satcat builtin ¶
gcat_get_satcat(cache_max_age: float = None) -> GCATSatcat
Download and parse the GCAT SATCAT catalog.
Fetches the SATCAT TSV file from GCAT with file-based caching (default 24h). Returns a GCATSatcat container with search and filter methods.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
cache_max_age | float | Maximum cache age in seconds. Defaults to 86400 (24 hours). Pass 0 to force a fresh download. | None |
Returns:
| Name | Type | Description |
|---|---|---|
GCATSatcat | GCATSatcat | Parsed SATCAT catalog container |
Raises:
| Type | Description |
|---|---|
BraheError | If download or parsing fails. |
Example
gcat_get_psatcat¶
gcat_get_psatcat builtin ¶
gcat_get_psatcat(cache_max_age: float = None) -> GCATPsatcat
Download and parse the GCAT PSATCAT catalog.
Fetches the PSATCAT TSV file from GCAT with file-based caching (default 24h). Returns a GCATPsatcat container with search and filter methods.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
cache_max_age | float | Maximum cache age in seconds. Defaults to 86400 (24 hours). Pass 0 to force a fresh download. | None |
Returns:
| Name | Type | Description |
|---|---|---|
GCATPsatcat | GCATPsatcat | Parsed PSATCAT catalog container |
Raises:
| Type | Description |
|---|---|
BraheError | If download or parsing fails. |
GCATSatcat¶
GCATSatcat ¶
Container for GCAT SATCAT records with search and filter methods.
Provides lookup by JCAT/SATCAT number, name search, and various field-based filters. All filter methods return a new GCATSatcat instance.
Example
Initialize instance.
filter_by_apogee_range ¶
filter_by_apogee_range(min_km: float, max_km: float) -> GCATSatcat
Filter records by apogee altitude range in km.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
min_km | float | Minimum apogee altitude in km | required |
max_km | float | Maximum apogee altitude in km | required |
Returns:
| Name | Type | Description |
|---|---|---|
GCATSatcat | GCATSatcat | New catalog containing matching records |
Example
filter_by_inc_range ¶
filter_by_inc_range(min_deg: float, max_deg: float) -> GCATSatcat
Filter records by inclination range in degrees.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
min_deg | float | Minimum inclination in degrees | required |
max_deg | float | Maximum inclination in degrees | required |
Returns:
| Name | Type | Description |
|---|---|---|
GCATSatcat | GCATSatcat | New catalog containing matching records |
Example
filter_by_owner ¶
filter_by_owner(owner: str) -> GCATSatcat
Filter records by owner (exact match).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
owner | str | Owner/operator organization name | required |
Returns:
| Name | Type | Description |
|---|---|---|
GCATSatcat | GCATSatcat | New catalog containing matching records |
Example
filter_by_perigee_range ¶
filter_by_perigee_range(min_km: float, max_km: float) -> GCATSatcat
Filter records by perigee altitude range in km.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
min_km | float | Minimum perigee altitude in km | required |
max_km | float | Maximum perigee altitude in km | required |
Returns:
| Name | Type | Description |
|---|---|---|
GCATSatcat | GCATSatcat | New catalog containing matching records |
Example
filter_by_state ¶
filter_by_state(state: str) -> GCATSatcat
Filter records by responsible state (exact match).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
state | str | State/country code (e.g. "US", "RU") | required |
Returns:
| Name | Type | Description |
|---|---|---|
GCATSatcat | GCATSatcat | New catalog containing matching records |
Example
filter_by_status ¶
filter_by_status(status: str) -> GCATSatcat
Filter records by status code (exact match).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
status | str | Status code (e.g. "O" for operational, "D" for decayed) | required |
Returns:
| Name | Type | Description |
|---|---|---|
GCATSatcat | GCATSatcat | New catalog containing matching records |
Example
filter_by_type ¶
filter_by_type(object_type: str) -> GCATSatcat
Filter records by object type (exact match).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object_type | str | Object type code (e.g. "P" for payload, "R" for rocket body) | required |
Returns:
| Name | Type | Description |
|---|---|---|
GCATSatcat | GCATSatcat | New catalog containing matching records |
Example
get_by_jcat ¶
get_by_jcat(jcat: str) -> GCATSatcatRecord
Look up a record by JCAT identifier.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
jcat | str | JCAT catalog identifier | required |
Returns:
| Type | Description |
|---|---|
GCATSatcatRecord | GCATSatcatRecord | None: The matching record, or None if not found |
Example
get_by_satcat ¶
get_by_satcat(satcat_num: str) -> GCATSatcatRecord
Look up a record by NORAD SATCAT number.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
satcat_num | str | NORAD SATCAT number (e.g. "25544" for ISS) | required |
Returns:
| Type | Description |
|---|---|
GCATSatcatRecord | GCATSatcatRecord | None: The matching record, or None if not found |
Example
records ¶
records() -> list[GCATSatcatRecord]
Get all records as a list.
Returns:
| Type | Description |
|---|---|
list[GCATSatcatRecord] | list[GCATSatcatRecord]: All records in the catalog |
search_by_name ¶
search_by_name(pattern: str) -> GCATSatcat
Search records by name (case-insensitive substring match).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
pattern | str | Search pattern (case-insensitive) | required |
Returns:
| Name | Type | Description |
|---|---|---|
GCATSatcat | GCATSatcat | New catalog containing matching records |
Example
to_dataframe ¶
Convert the catalog to a Polars DataFrame.
All record fields become columns. String fields are Utf8 type, numeric fields are Float64 type. Missing values are None.
Returns:
| Type | Description |
|---|---|
DataFrame | polars.DataFrame: DataFrame with all catalog fields as columns |
GCATPsatcat¶
GCATPsatcat ¶
Container for GCAT PSATCAT records with search and filter methods.
Provides lookup by JCAT, name search, and various field-based filters. All filter methods return a new GCATPsatcat instance.
Example
Initialize instance.
filter_active ¶
filter_active() -> GCATPsatcat
Filter for active payloads (result is "S" and no end date or tdate="*").
Returns:
| Name | Type | Description |
|---|---|---|
GCATPsatcat | GCATPsatcat | New catalog containing active records |
filter_by_category ¶
filter_by_category(category: str) -> GCATPsatcat
Filter records by mission category (exact match).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
category | str | Category code (e.g. "COM", "IMG", "TECH", "SCI", "NAV") | required |
Returns:
| Name | Type | Description |
|---|---|---|
GCATPsatcat | GCATPsatcat | New catalog containing matching records |
filter_by_class ¶
filter_by_class(class_: str) -> GCATPsatcat
Filter records by mission class (exact match).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
class_ | str | Mission class code (e.g. "A", "B", "C", "D") | required |
Returns:
| Name | Type | Description |
|---|---|---|
GCATPsatcat | GCATPsatcat | New catalog containing matching records |
filter_by_result ¶
filter_by_result(result: str) -> GCATPsatcat
Filter records by mission result (exact match).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
result | str | Result code (e.g. "S" for success, "F" for failure) | required |
Returns:
| Name | Type | Description |
|---|---|---|
GCATPsatcat | GCATPsatcat | New catalog containing matching records |
get_by_jcat ¶
get_by_jcat(jcat: str) -> GCATPsatcatRecord
Look up a record by JCAT identifier.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
jcat | str | JCAT catalog identifier | required |
Returns:
| Type | Description |
|---|---|
GCATPsatcatRecord | GCATPsatcatRecord | None: The matching record, or None if not found |
records ¶
records() -> list[GCATPsatcatRecord]
Get all records as a list.
Returns:
| Type | Description |
|---|---|
list[GCATPsatcatRecord] | list[GCATPsatcatRecord]: All records in the catalog |
search_by_name ¶
search_by_name(pattern: str) -> GCATPsatcat
Search records by name (case-insensitive substring match).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
pattern | str | Search pattern (case-insensitive) | required |
Returns:
| Name | Type | Description |
|---|---|---|
GCATPsatcat | GCATPsatcat | New catalog containing matching records |
GCATSatcatRecord¶
GCATSatcatRecord ¶
A single record from the GCAT SATCAT catalog.
Contains physical, orbital, and administrative metadata for an artificial space object. All 41+ columns from the satcat.tsv file are represented.
Attributes:
| Name | Type | Description |
|---|---|---|
jcat | str | JCAT catalog identifier (primary key) |
satcat | str | None | NORAD SATCAT number |
launch_tag | str | None | Launch tag identifier |
piece | str | None | Piece designation |
object_type | str | None | Object type code |
name | str | None | Current object name |
pl_name | str | None | Payload name |
ldate | str | None | Launch date |
parent | str | None | Parent object identifier |
sdate | str | None | Separation/deployment date |
primary | str | None | Primary body orbited |
ddate | str | None | Decay/deorbit date |
status | str | None | Current status code |
dest | str | None | Destination/orbit description |
owner | str | None | Owner/operator organization |
state | str | None | Responsible state/country |
manufacturer | str | None | Manufacturer organization |
bus | str | None | Spacecraft bus type |
motor | str | None | Motor/propulsion type |
mass | float | None | Launch mass in kg |
mass_flag | str | None | Mass quality flag |
dry_mass | float | None | Dry mass in kg |
dry_flag | str | None | Dry mass quality flag |
tot_mass | float | None | Total mass in kg |
tot_flag | str | None | Total mass quality flag |
length | float | None | Length in meters |
length_flag | str | None | Length quality flag |
diameter | float | None | Diameter in meters |
diameter_flag | str | None | Diameter quality flag |
span | float | None | Span in meters |
span_flag | str | None | Span quality flag |
shape | str | None | Shape description |
odate | str | None | Operational orbit epoch date |
perigee | float | None | Perigee altitude in km |
perigee_flag | str | None | Perigee quality flag |
apogee | float | None | Apogee altitude in km |
apogee_flag | str | None | Apogee quality flag |
inc | float | None | Orbital inclination in degrees |
inc_flag | str | None | Inclination quality flag |
op_orbit | str | None | Operational orbit class |
oqual | str | None | Orbit quality code |
alt_names | str | None | Alternative names |
Example
Initialize instance.
GCATPsatcatRecord¶
GCATPsatcatRecord ¶
A single record from the GCAT PSATCAT catalog.
Contains payload-specific metadata including mission details, UN registry information, and disposal orbit parameters.
Attributes:
| Name | Type | Description |
|---|---|---|
jcat | str | JCAT catalog identifier (primary key) |
piece | str | None | Piece designation |
name | str | None | Payload name |
ldate | str | None | Launch date |
tlast | str | None | Last contact date |
top | str | None | Operational start date |
tdate | str | None | End of operations date |
tf | str | None | Date quality flag |
program | str | None | Program/constellation name |
plane | str | None | Orbital plane identifier |
att | str | None | Attitude control type |
mvr | str | None | Maneuver capability |
class_ | str | None | Mission class |
category | str | None | Mission category |
result | str | None | Mission result/outcome |
control | str | None | Control authority |
discipline | str | None | Mission discipline |
un_state | str | None | UN registry state |
un_reg | str | None | UN registry number |
un_period | float | None | UN registered orbital period in minutes |
un_perigee | float | None | UN registered perigee in km |
un_apogee | float | None | UN registered apogee in km |
un_inc | float | None | UN registered inclination in degrees |
disp_epoch | str | None | Disposal orbit epoch |
disp_peri | float | None | Disposal perigee in km |
disp_apo | float | None | Disposal apogee in km |
disp_inc | float | None | Disposal inclination in degrees |
comment | str | None | Comments |
Example
Initialize instance.
See Also¶
- GCAT Satellite Catalogs - Overview, caching, and usage guide
- GCAT Website - Jonathan McDowell's catalog home page