Struct geo::MultiPoint [−][src]
A collection of Point
s. Can
be created from a Vec
of Point
s, or from an
Iterator which yields Point
s. Iterating over this
object yields the component Point
s.
Semantics
The interior and the boundary are the union of the
interior and the boundary of the constituent points. In
particular, the boundary of a MultiPoint
is always
empty.
Examples
Iterating over a MultiPoint
yields the Point
s inside.
use geo_types::{MultiPoint, Point}; let points: MultiPoint<_> = vec![(0., 0.), (1., 2.)].into(); for point in points { println!("Point x = {}, y = {}", point.x(), point.y()); }
Implementations
impl<T> MultiPoint<T> where
T: CoordNum,
[src]
T: CoordNum,
pub fn iter(&self) -> impl Iterator<Item = &Point<T>>
[src]
pub fn iter_mut(&mut self) -> impl Iterator<Item = &mut Point<T>>
[src]
Trait Implementations
impl<T> AbsDiffEq<MultiPoint<T>> for MultiPoint<T> where
T: AbsDiffEq<T, Epsilon = T> + CoordNum,
<T as AbsDiffEq<T>>::Epsilon: Copy,
[src]
T: AbsDiffEq<T, Epsilon = T> + CoordNum,
<T as AbsDiffEq<T>>::Epsilon: Copy,
type Epsilon = T
Used for specifying relative comparisons.
pub fn default_epsilon() -> <MultiPoint<T> as AbsDiffEq<MultiPoint<T>>>::Epsilon
[src]
pub fn abs_diff_eq(
&self,
other: &MultiPoint<T>,
epsilon: <MultiPoint<T> as AbsDiffEq<MultiPoint<T>>>::Epsilon
) -> bool
[src]
&self,
other: &MultiPoint<T>,
epsilon: <MultiPoint<T> as AbsDiffEq<MultiPoint<T>>>::Epsilon
) -> bool
Equality assertion with an absolute limit.
Examples
use geo_types::MultiPoint; use geo_types::point; let a = MultiPoint(vec![point![x: 0., y: 0.], point![x: 10., y: 10.]]); let b = MultiPoint(vec![point![x: 0., y: 0.], point![x: 10.001, y: 10.]]); approx::abs_diff_eq!(a, b, epsilon=0.1);
pub fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
impl<T> Area<T> for MultiPoint<T> where
T: CoordNum,
[src]
T: CoordNum,
fn signed_area(&self) -> T
[src]
fn unsigned_area(&self) -> T
[src]
impl<T> BoundingRect<T> for MultiPoint<T> where
T: CoordNum,
[src]
T: CoordNum,
type Output = Option<Rect<T>>
fn bounding_rect(&self) -> Self::Output
[src]
Return the BoundingRect for a MultiPoint
impl<T> Centroid for MultiPoint<T> where
T: GeoFloat,
[src]
T: GeoFloat,
use geo::algorithm::centroid::Centroid; use geo::{MultiPoint, Point}; let empty: Vec<Point<f64>> = Vec::new(); let empty_multi_points: MultiPoint<_> = empty.into(); assert_eq!(empty_multi_points.centroid(), None); let points: MultiPoint<_> = vec![(5., 1.), (1., 3.), (3., 2.)].into(); assert_eq!(points.centroid(), Some(Point::new(3., 2.)));
impl<T> Clone for MultiPoint<T> where
T: Clone + CoordNum,
[src]
T: Clone + CoordNum,
pub fn clone(&self) -> MultiPoint<T>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<F: GeoFloat> ClosestPoint<F, Point<F>> for MultiPoint<F>
[src]
fn closest_point(&self, p: &Point<F>) -> Closest<F>
[src]
impl<T> ConcaveHull for MultiPoint<T> where
T: GeoFloat + RTreeNum,
[src]
T: GeoFloat + RTreeNum,
type Scalar = T
fn concave_hull(&self, concavity: T) -> Polygon<T>
[src]
impl<G, T> Contains<G> for MultiPoint<T> where
T: CoordNum,
Point<T>: Contains<G>,
[src]
T: CoordNum,
Point<T>: Contains<G>,
impl<T: GeoNum> Contains<MultiPoint<T>> for MultiPolygon<T>
[src]
fn contains(&self, rhs: &MultiPoint<T>) -> bool
[src]
impl<T> ConvexHull for MultiPoint<T> where
T: GeoNum,
[src]
T: GeoNum,
type Scalar = T
fn convex_hull(&self) -> Polygon<T>
[src]
impl<T> CoordinatePosition for MultiPoint<T> where
T: GeoNum,
[src]
T: GeoNum,
type Scalar = T
fn calculate_coordinate_position(
&self,
coord: &Coordinate<T>,
is_inside: &mut bool,
_boundary_count: &mut usize
)
[src]
&self,
coord: &Coordinate<T>,
is_inside: &mut bool,
_boundary_count: &mut usize
)
fn coordinate_position(&self, coord: &Coordinate<Self::Scalar>) -> CoordPos
[src]
impl<'a, T: CoordNum + 'a> CoordsIter<'a> for MultiPoint<T>
[src]
type Iter = Flatten<MapCoordsIter<'a, T, Iter<'a, Point<T>>, Point<T>>>
type ExteriorIter = Self::Iter
type Scalar = T
fn coords_iter(&'a self) -> Self::Iter
[src]
fn coords_count(&'a self) -> usize
[src]
Return the number of coordinates in the MultiPoint
.
fn exterior_coords_iter(&'a self) -> Self::ExteriorIter
[src]
impl<T> Debug for MultiPoint<T> where
T: Debug + CoordNum,
[src]
T: Debug + CoordNum,
impl<T> Eq for MultiPoint<T> where
T: Eq + CoordNum,
[src]
T: Eq + CoordNum,
impl<T> EuclideanDistance<T, MultiPoint<T>> for Point<T> where
T: GeoFloat,
[src]
T: GeoFloat,
fn euclidean_distance(&self, points: &MultiPoint<T>) -> T
[src]
Minimum distance from a Point to a MultiPoint
impl<T> EuclideanDistance<T, Point<T>> for MultiPoint<T> where
T: GeoFloat,
[src]
T: GeoFloat,
fn euclidean_distance(&self, point: &Point<T>) -> T
[src]
Minimum distance from a MultiPoint to a Point
impl<T, IP> From<IP> for MultiPoint<T> where
T: CoordNum,
IP: Into<Point<T>>,
[src]
T: CoordNum,
IP: Into<Point<T>>,
pub fn from(x: IP) -> MultiPoint<T>
[src]
Convert a single Point
(or something which can be converted to a Point
) into a
one-member MultiPoint
impl<T> From<MultiPoint<T>> for Geometry<T> where
T: CoordNum,
[src]
T: CoordNum,
pub fn from(x: MultiPoint<T>) -> Geometry<T>
[src]
impl<T, IP> From<Vec<IP, Global>> for MultiPoint<T> where
T: CoordNum,
IP: Into<Point<T>>,
[src]
T: CoordNum,
IP: Into<Point<T>>,
pub fn from(v: Vec<IP, Global>) -> MultiPoint<T>
[src]
Convert a Vec
of Points
(or Vec
of things which can be converted to a Point
) into a
MultiPoint
.
impl<T, IP> FromIterator<IP> for MultiPoint<T> where
T: CoordNum,
IP: Into<Point<T>>,
[src]
T: CoordNum,
IP: Into<Point<T>>,
pub fn from_iter<I>(iter: I) -> MultiPoint<T> where
I: IntoIterator<Item = IP>,
[src]
I: IntoIterator<Item = IP>,
Collect the results of a Point
iterator into a MultiPoint
impl<C: CoordNum> HasDimensions for MultiPoint<C>
[src]
fn is_empty(&self) -> bool
[src]
fn dimensions(&self) -> Dimensions
[src]
fn boundary_dimensions(&self) -> Dimensions
[src]
impl<T> Hash for MultiPoint<T> where
T: Hash + CoordNum,
[src]
T: Hash + CoordNum,
pub fn hash<__H>(&self, state: &mut __H) where
__H: Hasher,
[src]
__H: Hasher,
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<T, G> Intersects<G> for MultiPoint<T> where
T: CoordNum,
Point<T>: Intersects<G>,
[src]
T: CoordNum,
Point<T>: Intersects<G>,
fn intersects(&self, rhs: &G) -> bool
[src]
impl<T> Intersects<MultiPoint<T>> for Coordinate<T> where
MultiPoint<T>: Intersects<Coordinate<T>>,
T: CoordNum,
[src]
MultiPoint<T>: Intersects<Coordinate<T>>,
T: CoordNum,
fn intersects(&self, rhs: &MultiPoint<T>) -> bool
[src]
impl<T> Intersects<MultiPoint<T>> for Line<T> where
MultiPoint<T>: Intersects<Line<T>>,
T: CoordNum,
[src]
MultiPoint<T>: Intersects<Line<T>>,
T: CoordNum,
fn intersects(&self, rhs: &MultiPoint<T>) -> bool
[src]
impl<T> Intersects<MultiPoint<T>> for Polygon<T> where
MultiPoint<T>: Intersects<Polygon<T>>,
T: CoordNum,
[src]
MultiPoint<T>: Intersects<Polygon<T>>,
T: CoordNum,
fn intersects(&self, rhs: &MultiPoint<T>) -> bool
[src]
impl<T> Intersects<MultiPoint<T>> for Rect<T> where
MultiPoint<T>: Intersects<Rect<T>>,
T: CoordNum,
[src]
MultiPoint<T>: Intersects<Rect<T>>,
T: CoordNum,
fn intersects(&self, rhs: &MultiPoint<T>) -> bool
[src]
impl<'a, T> IntoIterator for &'a mut MultiPoint<T> where
T: CoordNum,
[src]
T: CoordNum,
type Item = &'a mut Point<T>
The type of the elements being iterated over.
type IntoIter = IterMut<'a, Point<T>>
Which kind of iterator are we turning this into?
pub fn into_iter(self) -> <&'a mut MultiPoint<T> as IntoIterator>::IntoIter
[src]
impl<T> IntoIterator for MultiPoint<T> where
T: CoordNum,
[src]
T: CoordNum,
Iterate over the Point
s in this MultiPoint
.
type Item = Point<T>
The type of the elements being iterated over.
type IntoIter = IntoIter<Point<T>, Global>
Which kind of iterator are we turning this into?
pub fn into_iter(self) -> <MultiPoint<T> as IntoIterator>::IntoIter
[src]
impl<'a, T> IntoIterator for &'a MultiPoint<T> where
T: CoordNum,
[src]
T: CoordNum,
type Item = &'a Point<T>
The type of the elements being iterated over.
type IntoIter = Iter<'a, Point<T>>
Which kind of iterator are we turning this into?
pub fn into_iter(self) -> <&'a MultiPoint<T> as IntoIterator>::IntoIter
[src]
impl<T: CoordNum, NT: CoordNum> MapCoords<T, NT> for MultiPoint<T>
[src]
type Output = MultiPoint<NT>
fn map_coords(&self, func: impl Fn(&(T, T)) -> (NT, NT) + Copy) -> Self::Output
[src]
impl<T: CoordNum> MapCoordsInplace<T> for MultiPoint<T>
[src]
impl<T> PartialEq<MultiPoint<T>> for MultiPoint<T> where
T: PartialEq<T> + CoordNum,
[src]
T: PartialEq<T> + CoordNum,
pub fn eq(&self, other: &MultiPoint<T>) -> bool
[src]
pub fn ne(&self, other: &MultiPoint<T>) -> bool
[src]
impl<F: GeoFloat> Relate<F, GeometryCollection<F>> for MultiPoint<F>
[src]
fn relate(&self, other: &GeometryCollection<F>) -> IntersectionMatrix
[src]
impl<F: GeoFloat> Relate<F, Line<F>> for MultiPoint<F>
[src]
fn relate(&self, other: &Line<F>) -> IntersectionMatrix
[src]
impl<F: GeoFloat> Relate<F, LineString<F>> for MultiPoint<F>
[src]
fn relate(&self, other: &LineString<F>) -> IntersectionMatrix
[src]
impl<F: GeoFloat> Relate<F, MultiLineString<F>> for MultiPoint<F>
[src]
fn relate(&self, other: &MultiLineString<F>) -> IntersectionMatrix
[src]
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for Point<F>
[src]
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
[src]
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for Line<F>
[src]
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
[src]
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for LineString<F>
[src]
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
[src]
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for Polygon<F>
[src]
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
[src]
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for MultiPoint<F>
[src]
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
[src]
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for MultiLineString<F>
[src]
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
[src]
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for MultiPolygon<F>
[src]
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
[src]
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for Rect<F>
[src]
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
[src]
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for Triangle<F>
[src]
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
[src]
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for GeometryCollection<F>
[src]
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
[src]
impl<F: GeoFloat> Relate<F, MultiPolygon<F>> for MultiPoint<F>
[src]
fn relate(&self, other: &MultiPolygon<F>) -> IntersectionMatrix
[src]
impl<F: GeoFloat> Relate<F, Point<F>> for MultiPoint<F>
[src]
fn relate(&self, other: &Point<F>) -> IntersectionMatrix
[src]
impl<F: GeoFloat> Relate<F, Polygon<F>> for MultiPoint<F>
[src]
fn relate(&self, other: &Polygon<F>) -> IntersectionMatrix
[src]
impl<F: GeoFloat> Relate<F, Rect<F>> for MultiPoint<F>
[src]
fn relate(&self, other: &Rect<F>) -> IntersectionMatrix
[src]
impl<F: GeoFloat> Relate<F, Triangle<F>> for MultiPoint<F>
[src]
fn relate(&self, other: &Triangle<F>) -> IntersectionMatrix
[src]
impl<T> RelativeEq<MultiPoint<T>> for MultiPoint<T> where
T: AbsDiffEq<T, Epsilon = T> + CoordNum + RelativeEq<T>,
[src]
T: AbsDiffEq<T, Epsilon = T> + CoordNum + RelativeEq<T>,
pub fn default_max_relative(
) -> <MultiPoint<T> as AbsDiffEq<MultiPoint<T>>>::Epsilon
[src]
) -> <MultiPoint<T> as AbsDiffEq<MultiPoint<T>>>::Epsilon
pub fn relative_eq(
&self,
other: &MultiPoint<T>,
epsilon: <MultiPoint<T> as AbsDiffEq<MultiPoint<T>>>::Epsilon,
max_relative: <MultiPoint<T> as AbsDiffEq<MultiPoint<T>>>::Epsilon
) -> bool
[src]
&self,
other: &MultiPoint<T>,
epsilon: <MultiPoint<T> as AbsDiffEq<MultiPoint<T>>>::Epsilon,
max_relative: <MultiPoint<T> as AbsDiffEq<MultiPoint<T>>>::Epsilon
) -> bool
Equality assertion within a relative limit.
Examples
use geo_types::MultiPoint; use geo_types::point; let a = MultiPoint(vec![point![x: 0., y: 0.], point![x: 10., y: 10.]]); let b = MultiPoint(vec![point![x: 0., y: 0.], point![x: 10.001, y: 10.]]); approx::assert_relative_eq!(a, b, max_relative=0.1)
pub fn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
impl<T> Rotate<T> for MultiPoint<T> where
T: CoordFloat,
[src]
T: CoordFloat,
fn rotate(&self, angle: T) -> Self
[src]
Rotate the contained Points about their centroids by the given number of degrees
impl<T> StructuralEq for MultiPoint<T> where
T: CoordNum,
[src]
T: CoordNum,
impl<T> StructuralPartialEq for MultiPoint<T> where
T: CoordNum,
[src]
T: CoordNum,
impl<T> TryFrom<Geometry<T>> for MultiPoint<T> where
T: CoordNum,
[src]
T: CoordNum,
Convert a Geometry enum into its inner type.
Fails if the enum case does not match the type you are trying to convert it to.
type Error = Error
The type returned in the event of a conversion error.
pub fn try_from(
geom: Geometry<T>
) -> Result<MultiPoint<T>, <MultiPoint<T> as TryFrom<Geometry<T>>>::Error>
[src]
geom: Geometry<T>
) -> Result<MultiPoint<T>, <MultiPoint<T> as TryFrom<Geometry<T>>>::Error>
impl<T: CoordNum, NT: CoordNum> TryMapCoords<T, NT> for MultiPoint<T>
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for MultiPoint<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for MultiPoint<T> where
T: Send,
T: Send,
impl<T> Sync for MultiPoint<T> where
T: Sync,
T: Sync,
impl<T> Unpin for MultiPoint<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for MultiPoint<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<'a, T, G> Extremes<'a, T> for G where
T: CoordNum,
G: CoordsIter<'a, Scalar = T>,
[src]
T: CoordNum,
G: CoordsIter<'a, Scalar = T>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, G> RotatePoint<T> for G where
T: CoordFloat,
G: MapCoords<T, T, Output = G>,
[src]
T: CoordFloat,
G: MapCoords<T, T, Output = G>,
pub fn rotate_around_point(&Self, T, Point<T>) -> G
[src]
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, G> Translate<T> for G where
T: CoordNum,
G: MapCoords<T, T, Output = G> + MapCoordsInplace<T>,
[src]
T: CoordNum,
G: MapCoords<T, T, Output = G> + MapCoordsInplace<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,