pub struct EcefSpace { /* private fields */ }Expand description
A spatial context in Earth-Centered, Earth-Fixed (ECEF) coordinates.
EcefSpace represents a position in 3D Cartesian space relative to the Earth’s center of mass.
It is commonly used in GNSS (e.g., GPS), satellite systems, and global geospatial models.
The origin (0, 0, 0) is at the Earth’s center, with axes aligned to the WGS84 ellipsoid:
x: points toward the intersection of the equator and the prime meridian (0° lat/lon)y: points toward 90° east longitudez: points toward the north pole
§Fields
id: Unique identifier for the locationx: X-coordinate in metersy: Y-coordinate in metersz: Z-coordinate in meters
§Coordinate Index Mapping
When used with the Coordinate trait, the following index mapping applies:
0 => x1 => y2 => z
§Trait Implementations
This type implements:
IdentifiableCoordinate<f64>Metricusing the Haversine approximationSpatial<f64>Displayfor human-readable output
Implementations§
Trait Implementations§
Source§impl Adjustable<f64> for EcefSpace
impl Adjustable<f64> for EcefSpace
Source§fn update<const W: usize, const H: usize, const D: usize, const C: usize>(
&mut self,
array_grid: &ArrayGrid<f64, W, H, D, C>,
) -> Result<(), UpdateError>
fn update<const W: usize, const H: usize, const D: usize, const C: usize>( &mut self, array_grid: &ArrayGrid<f64, W, H, D, C>, ) -> Result<(), UpdateError>
The default implementation does nothing to keep update optional.
Override this method to implement a node update when needed.
For a sample implementation, see src/types/context_types/node_types_adjustable
Source§fn adjust<const W: usize, const H: usize, const D: usize, const C: usize>(
&mut self,
array_grid: &ArrayGrid<f64, W, H, D, C>,
) -> Result<(), AdjustmentError>
fn adjust<const W: usize, const H: usize, const D: usize, const C: usize>( &mut self, array_grid: &ArrayGrid<f64, W, H, D, C>, ) -> Result<(), AdjustmentError>
The default implementation does nothing to keep adjustment optional.
Override this method to implement a node adjustment when needed.
Depending on the type of node adjustment, select a 1, 2,3, or 4 dimensional array grid
that contains the transformation data to apply to the node.
For a sample implementation, see src/types/context_types/node_types_adjustable
Source§impl Coordinate<f64> for EcefSpace
impl Coordinate<f64> for EcefSpace
impl Spatial<f64> for EcefSpace
impl StructuralPartialEq for EcefSpace
Auto Trait Implementations§
impl Freeze for EcefSpace
impl RefUnwindSafe for EcefSpace
impl Send for EcefSpace
impl Sync for EcefSpace
impl Unpin for EcefSpace
impl UnwindSafe for EcefSpace
Blanket Implementations§
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