Expand description
Represents a (longitude, latitude) point.
Fields
longitude: NotNan<f64>
latitude: NotNan<f64>
Implementations
sourceimpl LonLat
impl LonLat
sourcepub fn to_pt(self, b: &GPSBounds) -> Pt2D
pub fn to_pt(self, b: &GPSBounds) -> Pt2D
Transform this to a world-space point. Can go out of bounds.
sourcepub(crate) fn gps_dist(self, other: LonLat) -> Distance
pub(crate) fn gps_dist(self, other: LonLat) -> Distance
Returns the Haversine distance to another point.
sourcepub fn fast_dist(self, other: LonLat) -> NotNan<f64>
pub fn fast_dist(self, other: LonLat) -> NotNan<f64>
Pretty meaningless units, for comparing distances very roughly
sourcepub fn read_osmosis_polygon(path: &str) -> Result<Vec<LonLat>>
pub fn read_osmosis_polygon(path: &str) -> Result<Vec<LonLat>>
Parses a file in the https://wiki.openstreetmap.org/wiki/Osmosis/Polygon_Filter_File_Format and returns all points.
sourcepub fn write_osmosis_polygon(path: &str, pts: &[LonLat]) -> Result<()>
pub fn write_osmosis_polygon(path: &str, pts: &[LonLat]) -> Result<()>
Writes a set of points to a file in the https://wiki.openstreetmap.org/wiki/Osmosis/Polygon_Filter_File_Format. The input should be a closed ring, with the first and last point matching.
sourcepub fn parse_wkt_linestring(raw: &str) -> Option<Vec<LonLat>>
pub fn parse_wkt_linestring(raw: &str) -> Option<Vec<LonLat>>
Parses a WKT-style line-string into a list of coordinates.
sourcepub fn parse_geojson_polygons(
raw: String
) -> Result<Vec<(Vec<LonLat>, Option<String>)>>
pub fn parse_geojson_polygons(
raw: String
) -> Result<Vec<(Vec<LonLat>, Option<String>)>>
Extract polygons from a raw GeoJSON string. For multipolygons, only returns the first
member. If the GeoJSON feature has a property called name
, this will also be returned.
pub fn to_geojson(self) -> Geometry
Trait Implementations
sourceimpl<'de> Deserialize<'de> for LonLat
impl<'de> Deserialize<'de> for LonLat
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Ord for LonLat
impl Ord for LonLat
sourceimpl PartialOrd<LonLat> for LonLat
impl PartialOrd<LonLat> for LonLat
sourcefn partial_cmp(&self, other: &LonLat) -> Option<Ordering>
fn partial_cmp(&self, other: &LonLat) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Copy for LonLat
impl Eq for LonLat
impl StructuralEq for LonLat
impl StructuralPartialEq for LonLat
Auto Trait Implementations
impl RefUnwindSafe for LonLat
impl Send for LonLat
impl Sync for LonLat
impl Unpin for LonLat
impl UnwindSafe for LonLat
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
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
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more