Skip to main content

ICRSPosition

Struct ICRSPosition 

Source
pub struct ICRSPosition { /* private fields */ }

Implementations§

Source§

impl ICRSPosition

Source

pub fn new(ra: Angle, dec: Angle) -> CoordResult<Self>

Source

pub fn with_distance( ra: Angle, dec: Angle, distance: Distance, ) -> CoordResult<Self>

Source

pub fn from_degrees(ra_deg: f64, dec_deg: f64) -> CoordResult<Self>

Source

pub fn from_degrees_with_distance( ra_deg: f64, dec_deg: f64, distance: Distance, ) -> CoordResult<Self>

Source

pub fn from_hours_degrees(ra_hours: f64, dec_deg: f64) -> CoordResult<Self>

Source

pub fn ra(&self) -> Angle

Source

pub fn dec(&self) -> Angle

Source

pub fn distance(&self) -> Option<Distance>

Source

pub fn set_distance(&mut self, distance: Distance)

Source

pub fn remove_distance(&mut self)

Source

pub fn unit_vector(&self) -> Vector3

Source

pub fn position_vector(&self) -> CoordResult<Vector3>

Source

pub fn from_unit_vector(unit: Vector3) -> CoordResult<Self>

Source

pub fn from_position_vector(pos: Vector3) -> CoordResult<Self>

Source

pub fn angular_separation(&self, other: &Self) -> Angle

Source

pub fn is_near_pole(&self) -> bool

Source

pub fn position_uncertainty_arcsec( &self, parallax_error_mas: f64, ) -> Option<f64>

Calculate angular position uncertainty from parallax measurement error.

This method simply converts parallax error to angular uncertainty (they have the same magnitude). The stored distance value is not used in the calculation - distance is only checked for presence to ensure this is a parallax-derived position.

Important: This returns the angular uncertainty on the sky, not the linear distance uncertainty. For distance uncertainty in physical units (parsecs, AU, etc.), calculate separately using error propagation: Δd = d² × Δπ (where π is parallax).

§Arguments
  • parallax_error_mas - Parallax measurement error in milliarcseconds
§Returns

Angular position uncertainty in arcseconds, or None if no distance is set

§Example
// Gaia DR3 typical parallax error: 0.02 mas → 0.00002 arcsec angular uncertainty
let uncertainty = pos.position_uncertainty_arcsec(0.02);
Source

pub fn distance_uncertainty_parsecs( &self, parallax_error_mas: f64, ) -> Option<f64>

Calculate physical distance uncertainty from parallax measurement error

For a star at distance d with parallax π ± σ_π:

  • Fractional distance error: σ_d/d = σ_π/π
  • Absolute distance error: σ_d = d × (σ_π/π)
§Arguments
  • parallax_error_mas - Parallax measurement error in milliarcseconds
§Returns

Distance uncertainty in parsecs, or None if no distance is set

Source§

impl ICRSPosition

Trait Implementations§

Source§

impl Clone for ICRSPosition

Source§

fn clone(&self) -> ICRSPosition

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl CoordinateFrame for ICRSPosition

Source§

fn to_icrs(&self, _epoch: &TT) -> CoordResult<ICRSPosition>

Source§

fn from_icrs(icrs: &ICRSPosition, _epoch: &TT) -> CoordResult<Self>

Source§

impl Debug for ICRSPosition

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for ICRSPosition

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for ICRSPosition

Source§

fn eq(&self, other: &ICRSPosition) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for ICRSPosition

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.