pub struct GeoPoint {
pub lat: f64,
pub lon: f64,
}Expand description
Geographic point for spatial queries (Issue #356)
Represents a WGS84 coordinate for spatial filtering.
Fields§
§lat: f64Latitude in degrees (-90 to 90)
lon: f64Longitude in degrees (-180 to 180)
Implementations§
Source§impl GeoPoint
impl GeoPoint
Sourcepub fn distance_to(&self, other: &GeoPoint) -> f64
pub fn distance_to(&self, other: &GeoPoint) -> f64
Calculate haversine distance to another point in meters
Uses the haversine formula for great-circle distance on a sphere.
Sourcepub fn within_bounds(&self, min: &GeoPoint, max: &GeoPoint) -> bool
pub fn within_bounds(&self, min: &GeoPoint, max: &GeoPoint) -> bool
Check if this point is within a bounding box
Sourcepub fn within_radius(&self, center: &GeoPoint, radius_meters: f64) -> bool
pub fn within_radius(&self, center: &GeoPoint, radius_meters: f64) -> bool
Check if this point is within a radius of another point
Trait Implementations§
Source§impl<'de> Deserialize<'de> for GeoPoint
impl<'de> Deserialize<'de> for GeoPoint
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<GeoPoint, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<GeoPoint, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for GeoPoint
impl Serialize for GeoPoint
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Copy for GeoPoint
impl StructuralPartialEq for GeoPoint
Auto Trait Implementations§
impl Freeze for GeoPoint
impl RefUnwindSafe for GeoPoint
impl Send for GeoPoint
impl Sync for GeoPoint
impl Unpin for GeoPoint
impl UnsafeUnpin for GeoPoint
impl UnwindSafe for GeoPoint
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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