Struct Aer

Source
pub struct Aer<AngularMeasure = Degrees> {
    pub azimuth: AngularMeasure,
    pub elevation: AngularMeasure,
    pub range: Meters,
}
Expand description

Aer represents an Azimuth, Elevation, and Range measurement.

Azimuth/Elevation (or Az/El) is a common way of locating objects measured at a specific location on Earth in the local tangent plane (for instance, from a RADAR). That reference location is not included in the Aer struct, so re-contextualizing this requires knowing the point at which the observation was taken from or was in reference to.

An Aer can be passed an “AngularMeasure” generic argument, which means, for all practical purposes, either Degrees or Radians. The default is Degrees, but can be overriden by passing Radians into the Aer. Degrees tend to be a lot easier to use as an API and for humans, but when passing data between third party code and this library, you may find it’s less work to skip conversions through Degrees when reading or writing Aer data. If you don’t have some overriding conviction, using Degrees is a good idea.

Fields§

§azimuth: AngularMeasure

Angle in azimuth (left and right) in relation to some fixed point and orientation.

§elevation: AngularMeasure

Angle in elevation (up and down) in relation to some fixed point and orientation.

§range: Meters

Range to some point in space along the defined azimuth and elevation, in Meters.

Implementations§

Source§

impl<AngularMeasure> Aer<AngularMeasure>
where Enu: From<Aer<AngularMeasure>>, Self: Copy,

Source

pub fn to_lle<CoordinateSystem, LleAngularMeasure>( &self, obs: &Lle<CoordinateSystem, LleAngularMeasure>, ) -> Lle<CoordinateSystem, LleAngularMeasure>
where Radians: From<LleAngularMeasure> + Copy, LleAngularMeasure: From<Radians> + Copy, CoordinateSystem: CoordinateSystem<LleAngularMeasure>,

Take some observation (self), and contextualize it into some absolute Lle given some reference point obs that this Aer is in reference to.

Trait Implementations§

Source§

impl<AngularMeasure: Clone> Clone for Aer<AngularMeasure>

Source§

fn clone(&self) -> Aer<AngularMeasure>

Returns a copy 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<AngularMeasure: Debug> Debug for Aer<AngularMeasure>

Source§

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

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

impl From<Aer<Radians>> for Aer<Degrees>

Source§

fn from(aer: Aer<Radians>) -> Self

Convert an Aer in Radians into Degrees.

Source§

impl From<Aer<Radians>> for Enu

Source§

fn from(aer: Aer<Radians>) -> Self

Convert to Enu cartesian local tangent plane coordinates from an Aer local tangent plane angular measurement in Radians.

Source§

impl From<Aer> for Aer<Radians>

Source§

fn from(aer: Aer<Degrees>) -> Self

Convert an Aer in Degrees into Radians

Source§

impl From<Aer> for Enu

Source§

fn from(aer: Aer<Degrees>) -> Self

Convert to Enu cartesian local tangent plane coordinates from an Aer local tangent plane angular measurement in Degrees.

Source§

impl From<Enu> for Aer<Degrees>

Source§

fn from(enu: Enu) -> Self

Convert to Aer cartesian local tangent plane angular measurement in Degrees from Enu local tangent plane coordinates.

Source§

impl From<Enu> for Aer<Radians>

Source§

fn from(enu: Enu) -> Self

Convert to Aer cartesian local tangent plane angular measurement in Radians from Enu local tangent plane coordinates.

Source§

impl<AngularMeasure: PartialEq> PartialEq for Aer<AngularMeasure>

Source§

fn eq(&self, other: &Aer<AngularMeasure>) -> 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<AngularMeasure: Copy> Copy for Aer<AngularMeasure>

Source§

impl<AngularMeasure> StructuralPartialEq for Aer<AngularMeasure>

Auto Trait Implementations§

§

impl<AngularMeasure> Freeze for Aer<AngularMeasure>
where AngularMeasure: Freeze,

§

impl<AngularMeasure> RefUnwindSafe for Aer<AngularMeasure>
where AngularMeasure: RefUnwindSafe,

§

impl<AngularMeasure> Send for Aer<AngularMeasure>
where AngularMeasure: Send,

§

impl<AngularMeasure> Sync for Aer<AngularMeasure>
where AngularMeasure: Sync,

§

impl<AngularMeasure> Unpin for Aer<AngularMeasure>
where AngularMeasure: Unpin,

§

impl<AngularMeasure> UnwindSafe for Aer<AngularMeasure>
where AngularMeasure: UnwindSafe,

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, 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.