Expand description
The geodetic (x,y,z) coordinates of an antenna (a.k.a. tile or station). All units are in metres.
This coordinate system is discussed at length in Interferometry and Synthesis in Radio Astronomy, Third Edition, Section 4: Geometrical Relationships, Polarimetry, and the Measurement Equation.
Fields
x: f64
x-coordinate [meters]
y: f64
y-coordinate [meters]
z: f64
z-coordinate [meters]
Implementations
sourceimpl XyzGeodetic
impl XyzGeodetic
sourcepub fn to_enh(self, latitude: f64) -> ENH
pub fn to_enh(self, latitude: f64) -> ENH
Convert XyzGeodetic
coordinates at a latitude to ENH coordinates.
sourcepub fn to_enh_inner(self, sin_latitude: f64, cos_latitude: f64) -> ENH
pub fn to_enh_inner(self, sin_latitude: f64, cos_latitude: f64) -> ENH
Convert XyzGeodetic
coordinates at a latitude to ENH coordinates.
This function is less convenient than XyzGeodetic::to_enh
(), but is
slightly more efficient because the caller can prevent needless sin
and cos
calculations.
sourcepub fn to_enh_mwa(self) -> ENH
pub fn to_enh_mwa(self) -> ENH
Convert XyzGeodetic
coordinates at the MWA’s latitude to ENH
coordinates.
sourcepub fn to_geocentric(
self,
earth_pos: LatLngHeight
) -> Result<XyzGeocentric, ErfaError>
pub fn to_geocentric(
self,
earth_pos: LatLngHeight
) -> Result<XyzGeocentric, ErfaError>
Convert a XyzGeodetic
coordinate to XyzGeocentric
.
sourcepub fn to_geocentric_inner(
self,
geocentric_vector: XyzGeocentric,
sin_longitude: f64,
cos_longitude: f64
) -> XyzGeocentric
pub fn to_geocentric_inner(
self,
geocentric_vector: XyzGeocentric,
sin_longitude: f64,
cos_longitude: f64
) -> XyzGeocentric
Convert a XyzGeodetic
coordinate to XyzGeocentric
. This function is
less convenient than XyzGeodetic::to_geocentric
, but may be better in
tight loops as the arguments to this function don’t need to be uselessly
re-calculated.
sourcepub fn to_geocentric_mwa(self) -> Result<XyzGeocentric, ErfaError>
pub fn to_geocentric_mwa(self) -> Result<XyzGeocentric, ErfaError>
Convert a XyzGeodetic
coordinate to XyzGeocentric
, using the MWA’s
location.
sourcepub fn get_tiles(
context: &MetafitsContext,
latitude_rad: f64
) -> Vec<XyzGeodetic>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
pub fn get_tiles(
context: &MetafitsContext,
latitude_rad: f64
) -> Vec<XyzGeodetic>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
For each tile listed in an mwalib::MetafitsContext
, calculate a
XyzGeodetic
coordinate.
Note that the RF inputs are ordered by antenna number, not the “input”; e.g. in the metafits file, Tile104 is often the first tile listed (“input” 0), Tile103 second (“input” 2), so the first baseline would naively be between Tile104 and Tile103.
sourcepub fn get_tiles_mwa(context: &MetafitsContext) -> Vec<XyzGeodetic>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
pub fn get_tiles_mwa(context: &MetafitsContext) -> Vec<XyzGeodetic>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
For each tile listed in an mwalib::MetafitsContext
, calculate a
XyzGeodetic
coordinate assuming the MWA’s latitude.
Note that the RF inputs are ordered by antenna number, not the “input”; e.g. in the metafits file, Tile104 is often the first tile listed (“input” 0), Tile103 second (“input” 2), so the first baseline would naively be between Tile104 and Tile103.
Trait Implementations
sourceimpl Clone for XyzGeodetic
impl Clone for XyzGeodetic
sourcefn clone(&self) -> XyzGeodetic
fn clone(&self) -> XyzGeodetic
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for XyzGeodetic
impl Debug for XyzGeodetic
sourceimpl Default for XyzGeodetic
impl Default for XyzGeodetic
sourcefn default() -> XyzGeodetic
fn default() -> XyzGeodetic
Returns the “default value” for a type. Read more
sourceimpl PartialEq<XyzGeodetic> for XyzGeodetic
impl PartialEq<XyzGeodetic> for XyzGeodetic
sourcefn eq(&self, other: &XyzGeodetic) -> bool
fn eq(&self, other: &XyzGeodetic) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &XyzGeodetic) -> bool
fn ne(&self, other: &XyzGeodetic) -> bool
This method tests for !=
.
sourceimpl Sub<XyzGeodetic> for XyzGeodetic
impl Sub<XyzGeodetic> for XyzGeodetic
impl Copy for XyzGeodetic
impl StructuralPartialEq for XyzGeodetic
Auto Trait Implementations
impl RefUnwindSafe for XyzGeodetic
impl Send for XyzGeodetic
impl Sync for XyzGeodetic
impl Unpin for XyzGeodetic
impl UnwindSafe for XyzGeodetic
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more