pub enum ConversionMethod {
Ostn15,
Proj,
}Expand description
Which backend to use when converting WGS84 coordinates to BNG.
When PROJ grid files are installed both methods agree to within ~1mm. The difference matters when grid files are absent:
| Scenario | Proj | Ostn15 |
|---|---|---|
| PROJ + grid files installed | ~1mm | ~1mm |
| PROJ installed, no grid files | ~5m (silent!) | ~1mm |
| PROJ not installed | build fails | ~1mm |
Ostn15 is the safer default for libraries — accuracy is guaranteed
regardless of what the user has installed on their system.
Variants§
Ostn15
Use the lonlat_bng crate with OSTN15 data embedded at compile time.
Always ~1mm accurate. No system dependencies.
Proj
Use the proj system library (equivalent to pyproj).
Requires libproj and the uk_os_OSTN15_NTv2_OSGBtoETRS.tif grid file.
Without the grid file PROJ silently falls back to a ~5m Helmert transform.
Trait Implementations§
Source§impl Clone for ConversionMethod
impl Clone for ConversionMethod
Source§fn clone(&self) -> ConversionMethod
fn clone(&self) -> ConversionMethod
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ConversionMethod
Source§impl Debug for ConversionMethod
impl Debug for ConversionMethod
Source§impl Default for ConversionMethod
impl Default for ConversionMethod
Source§fn default() -> ConversionMethod
fn default() -> ConversionMethod
Returns the “default value” for a type. Read more
impl Eq for ConversionMethod
Source§impl PartialEq for ConversionMethod
impl PartialEq for ConversionMethod
Source§fn eq(&self, other: &ConversionMethod) -> bool
fn eq(&self, other: &ConversionMethod) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ConversionMethod
Auto Trait Implementations§
impl Freeze for ConversionMethod
impl RefUnwindSafe for ConversionMethod
impl Send for ConversionMethod
impl Sync for ConversionMethod
impl Unpin for ConversionMethod
impl UnsafeUnpin for ConversionMethod
impl UnwindSafe for ConversionMethod
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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