empyrean.BPlanes

class BPlanes(table, **kwargs)[source]

Bases: Table

B-plane geometry breakdowns tagged by uncertainty method.

One row per (method × orbit × body) close-approach encounter. Mirrors empyrean_core.impact.BPlaneData (= villeneuve’s upstream type) flattened to columns: BRB \cdot R, BTB \cdot T, miss distance, hyperbolic excess velocity, the projected covariance, and the 3σ uncertainty ellipse (semi-major / semi-minor / rotation angle).

Closest-approach time carried as an Epochs sub-table — same convention as ImpactProbabilities.

Methods

__init__(table, **kwargs)

apply_mask(mask)

Return a new table with rows filtered to match a boolean mask.

as_column([nullable, metadata])

Embed the Table as a column in another Table.

attributes()

Return a dictionary of the table's attributes.

chunk_counts()

Returns the number of discrete memory chunks that make up each of the Table's underlying arrays.

column(column_name)

Returns the column with the given name as a raw pyarrow ChunkedArray.

drop_duplicates([subset, keep])

Drop duplicate rows from a ~quivr.Table.

empty(**kwargs)

Create an empty instance of the table.

flattened_table()

Completely flatten the Table's underlying Arrow table, taking into account any nested structure, and return the data table itself.

fragmented()

Returns true if the Table has any fragmented arrays.

from_csv(input_file[, validate])

Read a table from a CSV file.

from_dataframe(df[, validate])

Load a DataFrame into the Table.

from_feather(path[, validate])

Read a table from a Feather file.

from_flat_dataframe(df[, validate])

Load a flattened DataFrame into the Table.

from_kwargs([validate, permit_nulls])

Create a Table instance from keyword arguments.

from_parquet(path[, memory_map, ...])

Read a table from a Parquet file.

from_pyarrow(table[, validate, permit_nulls])

Create a new table from a pyarrow Table.

invalid_mask()

Return a boolean mask indicating which rows are invalid.

is_valid()

Validate the table against the schema.

null_mask()

Return a boolean mask indicating which rows of the entire table are null.

nulls(size, **kwargs)

Create a table with nulls.

select(column_name, value)

Select from the table by exact match, returning a new Table which only contains rows for which the value in column_name equals value.

separate_invalid()

Separates rows that have invalid data from those that have valid data.

set_column(name, data)

Return a copy of the table with a particular column replaced with new data.

sort_by(by)

Sorts the Table by the given column name (or multiple columns).

take(row_indices)

Return a new Table with only the rows at the given indices.

to_csv(path[, attribute_columns])

Write the table to a CSV file.

to_dataframe([flatten, attr_handling])

Returns self as a pandas DataFrame.

to_feather(path, **kwargs)

Write the table to a Feather file.

to_parquet(path, **kwargs)

Write the table to a Parquet file.

to_structarray()

Returns self as a StructArray.

unique_indices([subset, keep])

Get the indices of the first or last occurrence of each unique row in the table.

validate()

Validate the table against the schema, raising an exception if invalid.

where(expr)

Return a new table with rows filtered to match an expression.

with_table(table)

Attributes

b_dot_r_km

Öpik BRB \cdot R coordinate in km.

b_dot_t_km

Öpik BTB \cdot T coordinate in km.

b_mag_km

Magnitude B=(BT)2+(BR)2|B| = \sqrt{(B \cdot T)^2 + (B \cdot R)^2} in km.

body

Body name; B-plane is defined relative to this body's hyperbolic-excess-velocity asymptote at closest approach.

body_radius_km

Body radius (km), pre-inflation.

cov_rr_km2

B-plane projected covariance, R-R component (km²).

cov_tr_km2

B-plane projected covariance, T-R off-diagonal (km²).

cov_tt_km2

B-plane projected covariance, T-T component (km²).

effective_radius_km

Gravitational-focusing-inflated radius Reff2=R2(1+(vesc/v)2)R_\mathrm{eff}^2 = R^2 (1 + (v_\mathrm{esc} / v_\infty)^2) in km — the radius B|B| is compared against.

ellipse_angle_rad

Rotation angle of the uncertainty ellipse from the +T axis (radians).

epochs

Closest-approach epoch (TDB).

ip_linear

Linear impact probability evaluated against the projected B-plane covariance — convenience copy of the IP that matches this B-plane row.

method

Uncertainty method tag — see ImpactProbabilities.

schema

semi_major_3sig_km

Semi-major axis of the 3σ uncertainty ellipse on the B-plane (km), eigenvector of the projected covariance.

semi_minor_3sig_km

Semi-minor axis of the 3σ uncertainty ellipse on the B-plane (km).

v_inf_km_s

Hyperbolic excess velocity vv_\infty at the close approach (km/s).

table

Parameters:
  • table (Table)

  • kwargs (AttributeValueType)

method

Uncertainty method tag — see ImpactProbabilities.

body

Body name; B-plane is defined relative to this body’s hyperbolic-excess-velocity asymptote at closest approach.

epochs

Closest-approach epoch (TDB).

b_dot_t_km

Öpik BTB \cdot T coordinate in km. T points along the projection of the planet’s heliocentric velocity onto the B-plane; controls the along-track encounter geometry and the resonant-return / keyhole structure.

schema: ClassVar[Schema] = method: large_string not null body: large_string not null epochs: struct<mjd: double>   child 0, mjd: double b_dot_t_km: double not null b_dot_r_km: double not null b_mag_km: double not null v_inf_km_s: double not null effective_radius_km: double not null body_radius_km: double not null cov_tt_km2: double cov_tr_km2: double cov_rr_km2: double semi_major_3sig_km: double semi_minor_3sig_km: double ellipse_angle_rad: double ip_linear: double
b_dot_r_km

Öpik BRB \cdot R coordinate in km. R completes a right-handed frame with the inbound asymptote; controls the cross-track miss component.

b_mag_km

Magnitude B=(BT)2+(BR)2|B| = \sqrt{(B \cdot T)^2 + (B \cdot R)^2} in km. Impact requires B<Reff|B| < R_\mathrm{eff}.

v_inf_km_s

Hyperbolic excess velocity vv_\infty at the close approach (km/s).

effective_radius_km

Gravitational-focusing-inflated radius Reff2=R2(1+(vesc/v)2)R_\mathrm{eff}^2 = R^2 (1 + (v_\mathrm{esc} / v_\infty)^2) in km — the radius B|B| is compared against.

body_radius_km

Body radius (km), pre-inflation.

cov_tt_km2

B-plane projected covariance, T-T component (km²).

cov_tr_km2

B-plane projected covariance, T-R off-diagonal (km²).

cov_rr_km2

B-plane projected covariance, R-R component (km²).

semi_major_3sig_km

Semi-major axis of the 3σ uncertainty ellipse on the B-plane (km), eigenvector of the projected covariance.

semi_minor_3sig_km

Semi-minor axis of the 3σ uncertainty ellipse on the B-plane (km).

ellipse_angle_rad

Rotation angle of the uncertainty ellipse from the +T axis (radians).

ip_linear

Linear impact probability evaluated against the projected B-plane covariance — convenience copy of the IP that matches this B-plane row.