DatumEnsemble

Struct DatumEnsemble 

Source
pub struct DatumEnsemble {
    pub type: Option<String>,
    pub name: String,
    pub members: Vec<DatumEnsembleMember>,
    pub accuracy: String,
    pub ellipsoid: Option<Ellipsoid>,
    pub id: Option<Id>,
    pub ids: Ids,
}
Expand description

§DatumEnsemble Interface

Represents a datum ensemble, which is a collection of datums.

Geodetic and vertical CRSs are associated with either a reference frame (datum) or a datum ensemble. The members of a datum ensemble are given as a list of reference frames. The list may contain reference frame name and/or identifier. All members of a datum ensemble are realizations of one shared terrestrial or vertical reference system.

For an ensemble of geodetic reference frames (datums), the WKT string includes the description of the ellipsoid used by the members. This information is available from any and all of the definitions of each member. It is included in the ensemble WKT to facilitate direct access to the information. The WKT string for a datum ensemble may also include the description of the prime meridian applying to all members of the ensemble.

For both geodetic and vertical datum ensembles, the ensemble description includes its ‘accuracy’, an indication of the difference in coordinate values of a point between different members of the datum ensemble. It may be regarded as a measure of the inaccuracy introduced through the assumption that ensemble members are approximately equivalent.

Use of the datum ensemble concept comes with a health warning. If data is associated with a CRS having a datum ensemble, it will not be possible to identify which of the datum ensemble members the data might more accurately be referenced to. In high accuracy applications, datum ensembles should not be used; individual reference frames should be identified.

Fields§

§type: Option<String>

Indicates the type of datum ensemble. Always “DatumEnsemble” for this interface.

§name: String

The name of the datum ensemble.

§members: Vec<DatumEnsembleMember>

An array of members in the datum ensemble.

§accuracy: String

The accuracy of the datum ensemble.

§ellipsoid: Option<Ellipsoid>

The ellipsoid associated with the datum ensemble.

§id: Option<Id>

An identifier for the datum ensemble.

§ids: Ids

An array of identifiers for the datum ensemble.

Implementations§

Source§

impl DatumEnsemble

Source

pub fn to_projection_transform(&self, proj_transform: &mut ProjectionTransform)

Convert a DatumEnsemble to a ProjectionTransform

Trait Implementations§

Source§

impl Clone for DatumEnsemble

Source§

fn clone(&self) -> DatumEnsemble

Returns a duplicate of the value. Read more
1.0.0§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for DatumEnsemble

Source§

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

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

impl Default for DatumEnsemble

Source§

fn default() -> DatumEnsemble

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for DatumEnsemble

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for DatumEnsemble

Source§

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

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

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 Serialize for DatumEnsemble

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl ToProjJSON for DatumEnsemble

Source§

fn set_accuracy(&mut self, accuracy: String)

Set Accuracy
Source§

fn set_ellipsoid(&mut self, ellipsoid: Ellipsoid)

Set an Ellipsoid
Source§

fn set_member(&mut self, member: DatumEnsembleMember)

Set a Member
Source§

fn set_id(&mut self, id: Id)

Set an Id
Source§

fn set_usage(&mut self, _usage: ObjectUsage)

Set Usage
Source§

fn set_anchor(&mut self, _anchor: String)

Set an Anchor
Source§

fn set_unit(&mut self, _unit: Unit)

Set a Unit
Source§

fn set_axis(&mut self, _axis: Axis)

Set an Axis
Source§

fn set_coordinate_system(&mut self, _cs: CoordinateSystem)

Set a CoordinateSystem
Source§

fn set_temporal_extent(&mut self, _extent: TemporalExtent)

Set Temporal Extent
Source§

fn set_vertical_extent(&mut self, _extent: VerticalExtent)

Set Vertical Extent
Source§

fn set_bbox(&mut self, _bbox: ProjBBox)

Set Bounding Box
Source§

fn set_area(&mut self, _area: Option<String>)

Set Area
Source§

fn set_method(&mut self, _method: Method)

Set a Method
Source§

fn set_ensemble(&mut self, _ensemble: DatumEnsemble)

Set a DatumEnsemble
Source§

fn set_epoch(&mut self, _epoch: f64)

Set Epoch
Source§

fn set_frame_epoch(&mut self, _epoch: f64)

Set a frame epoch
Source§

fn set_datum(&mut self, _datum: Datum)

Set a datum
Source§

fn set_parameter(&mut self, _parameter: ParameterValue)

Set a Parameter
Source§

fn set_meridian(&mut self, _meridian: Meridian)

Set a Meridian
Source§

fn set_prime_meridian(&mut self, _prime_meridian: PrimeMeridian)

Set a PrimeMeridian
Source§

fn set_conversion(&mut self, _conversion: Conversion)

Set a Conversion
Source§

fn set_geodetic_crs(&mut self, _geodetic_crs: GeodeticCRS)

Set a GeodeticCRS
Source§

fn set_projected_crs(&mut self, _projected_crs: ProjectedCRS)

Set a ProjectedCRS
Source§

fn set_projection(&mut self, _name: String)

Set the name
Source§

fn set_order(&mut self, _order: usize)

Set the order
Source§

impl WKTParser for DatumEnsemble

Source§

fn from_wkt(val: &WKTValue) -> Self

Converts from WKT
Source§

impl StructuralPartialEq for DatumEnsemble

Auto Trait Implementations§

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

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

§

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
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<R, P> ReadPrimitive<R> for P
where R: Read + ReadEndian<P>, P: Default,

Source§

fn read_from_little_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_little_endian().
Source§

fn read_from_big_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian().
Source§

fn read_from_native_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian().
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

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

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,