Struct sounding_base::StationInfo
source · pub struct StationInfo { /* private fields */ }
Expand description
Station information including location data and identification number.
Implementations
sourceimpl StationInfo
impl StationInfo
sourcepub fn new_with_values<T, U, V, W>(
station_num: T,
location: U,
elevation: V
) -> Selfwhere
T: Into<Optioned<i32>>,
U: Into<Option<(f64, f64)>>,
Optioned<W>: From<V>,
W: Noned + Length,
Meters: From<W>,
pub fn new_with_values<T, U, V, W>(
station_num: T,
location: U,
elevation: V
) -> Selfwhere
T: Into<Optioned<i32>>,
U: Into<Option<(f64, f64)>>,
Optioned<W>: From<V>,
W: Noned + Length,
Meters: From<W>,
Create a new StationInfo
object.
Arguments
station_num: The USAF station identifier, or None.
location: The latitude and longitude as a tuple, or None.
elevation: The elevation of the station in meters.
Examples
use metfor::{Meters, Feet};
use sounding_base::StationInfo;
use optional::{some, none};
let _stn = StationInfo::new_with_values(12345, (45.2,-113.5), Meters(2000.0));
let _stn = StationInfo::new_with_values(12345, (45.2,-113.5), Feet(2000.0));
let _stn = StationInfo::new_with_values(12345, (45.2,-113.5), some(Meters(2000.0)));
let _stn = StationInfo::new_with_values(12345, (45.2,-113.5), some(Feet(2000.0)));
let _stn = StationInfo::new_with_values(12345, Some((45.2,-113.5)), Meters(2000.0));
let _stn = StationInfo::new_with_values(12345, Some((45.2,-113.5)), Feet(2000.0));
let _stn = StationInfo::new_with_values(12345, Some((45.2,-113.5)), some(Meters(2000.0)));
let _stn = StationInfo::new_with_values(12345, Some((45.2,-113.5)), some(Feet(2000.0)));
let _stn = StationInfo::new_with_values(Some(12345), None, Meters(2000.0));
let _stn = StationInfo::new_with_values(Some(12345), None, Feet(2000.0));
let _stn = StationInfo::new_with_values(None, (45.2,-113.5), some(Meters(2000.0)));
let _stn = StationInfo::new_with_values(None, (45.2,-113.5), some(Feet(2000.0)));
// Note that lat-lon is an `Option` and not an `Optioned`
let _stn = StationInfo::new_with_values(some(12345), None, none::<Feet>());
let _stn = StationInfo::new_with_values(some(12345), None, none::<Meters>());
sourcepub fn new() -> Self
pub fn new() -> Self
Create a new object with default values.
Examples
use sounding_base::StationInfo;
assert!(StationInfo::new().station_num().is_none());
assert!(StationInfo::new().location().is_none());
assert!(StationInfo::new().elevation().is_none());
sourcepub fn with_station<T>(self, number: T) -> Selfwhere
Optioned<i32>: From<T>,
pub fn with_station<T>(self, number: T) -> Selfwhere
Optioned<i32>: From<T>,
Builder method to add a station number.
Examples
use sounding_base::StationInfo;
assert_eq!(StationInfo::new().with_station(12345).station_num().unwrap(), 12345);
assert_eq!(StationInfo::new().with_station(Some(12345)).station_num().unwrap(), 12345);
sourcepub fn with_lat_lon<T>(self, coords: T) -> Selfwhere
Option<(f64, f64)>: From<T>,
pub fn with_lat_lon<T>(self, coords: T) -> Selfwhere
Option<(f64, f64)>: From<T>,
Builder method to add a location.
Examples
use sounding_base::StationInfo;
assert_eq!(
StationInfo::new().with_lat_lon((45.0, -116.0)).location().unwrap(), (45.0, -116.0));
assert_eq!(
StationInfo::new().with_lat_lon(Some((45.0, -116.0)))
.location()
.unwrap(),
(45.0, -116.0));
sourcepub fn with_elevation<T, U>(self, elev: T) -> Selfwhere
Optioned<U>: From<T>,
U: Noned + Length,
Meters: From<U>,
pub fn with_elevation<T, U>(self, elev: T) -> Selfwhere
Optioned<U>: From<T>,
U: Noned + Length,
Meters: From<U>,
Builder method to add elevation.
Examples
use metfor::{Meters, Feet, Km};
use sounding_base::StationInfo;
use optional::{some, none};
let _info = StationInfo::new().with_elevation(Feet(200.0));
let _info = StationInfo::new().with_elevation(Meters(200.0));
let _info = StationInfo::new().with_elevation(Km(2.0));
let _info = StationInfo::new().with_elevation(some(Feet(200.0)));
let _info = StationInfo::new().with_elevation(some(Meters(200.0)));
let _info = StationInfo::new().with_elevation(some(Km(2.0)));
let _info = StationInfo::new().with_elevation(none::<Feet>());
let _info = StationInfo::new().with_elevation(none::<Meters>());
let _info = StationInfo::new().with_elevation(none::<Km>());
sourcepub fn station_num(&self) -> Optioned<i32>
pub fn station_num(&self) -> Optioned<i32>
station number, USAF number, eg 727730
Trait Implementations
sourceimpl Clone for StationInfo
impl Clone for StationInfo
sourcefn clone(&self) -> StationInfo
fn clone(&self) -> StationInfo
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 moresourceimpl Debug for StationInfo
impl Debug for StationInfo
sourceimpl Default for StationInfo
impl Default for StationInfo
sourcefn default() -> StationInfo
fn default() -> StationInfo
Returns the “default value” for a type. Read more
sourceimpl PartialEq<StationInfo> for StationInfo
impl PartialEq<StationInfo> for StationInfo
sourcefn eq(&self, other: &StationInfo) -> bool
fn eq(&self, other: &StationInfo) -> bool
impl Copy for StationInfo
impl StructuralPartialEq for StationInfo
Auto Trait Implementations
impl RefUnwindSafe for StationInfo
impl Send for StationInfo
impl Sync for StationInfo
impl Unpin for StationInfo
impl UnwindSafe for StationInfo
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
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