pub struct MultiPoint<T = f64>(pub Vec<Point<T>>)
where
T: CoordNum;
Expand description
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());
}
Tuple Fields§
§0: Vec<Point<T>>
Implementations§
Trait Implementations§
Source§impl<T> AbsDiffEq for MultiPoint<T>
impl<T> AbsDiffEq for MultiPoint<T>
Source§fn abs_diff_eq(
&self,
other: &MultiPoint<T>,
epsilon: <MultiPoint<T> as AbsDiffEq>::Epsilon,
) -> bool
fn abs_diff_eq( &self, other: &MultiPoint<T>, epsilon: <MultiPoint<T> as AbsDiffEq>::Epsilon, ) -> bool
Equality assertion with an absolute limit.
§Examples
use geo_types::MultiPoint;
use geo_types::point;
let a = MultiPoint::new(vec![point![x: 0., y: 0.], point![x: 10., y: 10.]]);
let b = MultiPoint::new(vec![point![x: 0., y: 0.], point![x: 10.001, y: 10.]]);
approx::abs_diff_eq!(a, b, epsilon=0.1);
Source§fn default_epsilon() -> <MultiPoint<T> as AbsDiffEq>::Epsilon
fn default_epsilon() -> <MultiPoint<T> as AbsDiffEq>::Epsilon
Source§fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
AbsDiffEq::abs_diff_eq
.Source§impl<T> Area<T> for MultiPoint<T>where
T: CoordNum,
impl<T> Area<T> for MultiPoint<T>where
T: CoordNum,
fn signed_area(&self) -> T
fn unsigned_area(&self) -> T
Source§impl<T> BoundingRect<T> for MultiPoint<T>where
T: CoordNum,
impl<T> BoundingRect<T> for MultiPoint<T>where
T: CoordNum,
Source§impl<T> Centroid for MultiPoint<T>where
T: GeoFloat,
impl<T> Centroid for MultiPoint<T>where
T: GeoFloat,
Source§fn centroid(&self) -> Self::Output
fn centroid(&self) -> Self::Output
The Centroid of a MultiPoint
is the mean of all Point
s
§Example
use geo::Centroid;
use geo::{MultiPoint, Point};
let empty: Vec<Point> = 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.)));
type Output = Option<Point<T>>
Source§impl<T> ChamberlainDuquetteArea<T> for MultiPoint<T>where
T: CoordFloat,
impl<T> ChamberlainDuquetteArea<T> for MultiPoint<T>where
T: CoordFloat,
fn chamberlain_duquette_signed_area(&self) -> T
fn chamberlain_duquette_unsigned_area(&self) -> T
Source§impl<T> Clone for MultiPoint<T>
impl<T> Clone for MultiPoint<T>
Source§fn clone(&self) -> MultiPoint<T>
fn clone(&self) -> MultiPoint<T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<F: GeoFloat> ClosestPoint<F> for MultiPoint<F>
impl<F: GeoFloat> ClosestPoint<F> for MultiPoint<F>
Source§fn closest_point(&self, p: &Point<F>) -> Closest<F>
fn closest_point(&self, p: &Point<F>) -> Closest<F>
self
and p
.Source§impl<T> ConcaveHull for MultiPoint<T>
impl<T> ConcaveHull for MultiPoint<T>
Source§impl<T> Contains<GeometryCollection<T>> for MultiPoint<T>where
T: GeoFloat,
impl<T> Contains<GeometryCollection<T>> for MultiPoint<T>where
T: GeoFloat,
fn contains(&self, target: &GeometryCollection<T>) -> bool
Source§impl<T> Contains<LineString<T>> for MultiPoint<T>where
T: GeoFloat,
impl<T> Contains<LineString<T>> for MultiPoint<T>where
T: GeoFloat,
fn contains(&self, target: &LineString<T>) -> bool
Source§impl<T> Contains<MultiLineString<T>> for MultiPoint<T>where
T: GeoFloat,
impl<T> Contains<MultiLineString<T>> for MultiPoint<T>where
T: GeoFloat,
fn contains(&self, target: &MultiLineString<T>) -> bool
Source§impl<T> Contains<MultiPoint<T>> for Geometry<T>where
T: GeoFloat,
impl<T> Contains<MultiPoint<T>> for Geometry<T>where
T: GeoFloat,
fn contains(&self, multi_point: &MultiPoint<T>) -> bool
Source§impl<T> Contains<MultiPoint<T>> for GeometryCollection<T>where
T: GeoFloat,
impl<T> Contains<MultiPoint<T>> for GeometryCollection<T>where
T: GeoFloat,
fn contains(&self, target: &MultiPoint<T>) -> bool
Source§impl<T> Contains<MultiPoint<T>> for Line<T>where
T: GeoFloat,
impl<T> Contains<MultiPoint<T>> for Line<T>where
T: GeoFloat,
fn contains(&self, target: &MultiPoint<T>) -> bool
Source§impl<T> Contains<MultiPoint<T>> for LineString<T>where
T: GeoFloat,
impl<T> Contains<MultiPoint<T>> for LineString<T>where
T: GeoFloat,
fn contains(&self, target: &MultiPoint<T>) -> bool
Source§impl<T> Contains<MultiPoint<T>> for MultiLineString<T>where
T: GeoFloat,
impl<T> Contains<MultiPoint<T>> for MultiLineString<T>where
T: GeoFloat,
fn contains(&self, target: &MultiPoint<T>) -> bool
Source§impl<T: GeoNum> Contains<MultiPoint<T>> for MultiPolygon<T>
impl<T: GeoNum> Contains<MultiPoint<T>> for MultiPolygon<T>
fn contains(&self, rhs: &MultiPoint<T>) -> bool
Source§impl<T> Contains<MultiPoint<T>> for Point<T>where
T: CoordNum,
impl<T> Contains<MultiPoint<T>> for Point<T>where
T: CoordNum,
fn contains(&self, multi_point: &MultiPoint<T>) -> bool
Source§impl<T> Contains<MultiPoint<T>> for Polygon<T>where
T: GeoFloat,
impl<T> Contains<MultiPoint<T>> for Polygon<T>where
T: GeoFloat,
fn contains(&self, target: &MultiPoint<T>) -> bool
Source§impl<T> Contains<MultiPoint<T>> for Rect<T>where
T: GeoFloat,
impl<T> Contains<MultiPoint<T>> for Rect<T>where
T: GeoFloat,
fn contains(&self, target: &MultiPoint<T>) -> bool
Source§impl<T> Contains<MultiPoint<T>> for Triangle<T>where
T: GeoFloat,
impl<T> Contains<MultiPoint<T>> for Triangle<T>where
T: GeoFloat,
fn contains(&self, target: &MultiPoint<T>) -> bool
Source§impl<T> Contains<MultiPolygon<T>> for MultiPoint<T>where
T: GeoFloat,
impl<T> Contains<MultiPolygon<T>> for MultiPoint<T>where
T: GeoFloat,
fn contains(&self, target: &MultiPolygon<T>) -> bool
Source§impl<T> Contains for MultiPoint<T>where
T: GeoFloat,
impl<T> Contains for MultiPoint<T>where
T: GeoFloat,
fn contains(&self, target: &MultiPoint<T>) -> bool
Source§impl<T> CoordinatePosition for MultiPoint<T>where
T: GeoNum,
impl<T> CoordinatePosition for MultiPoint<T>where
T: GeoNum,
Source§impl<'a, T: CoordNum + 'a> CoordsIter<'a> for MultiPoint<T>
impl<'a, T: CoordNum + 'a> CoordsIter<'a> for MultiPoint<T>
Source§fn coords_count(&'a self) -> usize
fn coords_count(&'a self) -> usize
Return the number of coordinates in the MultiPoint
.
type Iter = Flatten<MapCoordsIter<'a, T, Iter<'a, Point<T>>, Point<T>>>
type ExteriorIter = <MultiPoint<T> as CoordsIter<'a>>::Iter
type Scalar = T
Source§fn coords_iter(&'a self) -> Self::Iter
fn coords_iter(&'a self) -> Self::Iter
Source§fn exterior_coords_iter(&'a self) -> Self::ExteriorIter
fn exterior_coords_iter(&'a self) -> Self::ExteriorIter
Source§impl<T> Debug for MultiPoint<T>where
T: CoordNum,
impl<T> Debug for MultiPoint<T>where
T: CoordNum,
Source§impl<T> EuclideanDistance<T, MultiPoint<T>> for Point<T>where
T: GeoFloat,
impl<T> EuclideanDistance<T, MultiPoint<T>> for Point<T>where
T: GeoFloat,
Source§fn euclidean_distance(&self, points: &MultiPoint<T>) -> T
fn euclidean_distance(&self, points: &MultiPoint<T>) -> T
Minimum distance from a Point to a MultiPoint
Source§impl<T> EuclideanDistance<T, Point<T>> for MultiPoint<T>where
T: GeoFloat,
impl<T> EuclideanDistance<T, Point<T>> for MultiPoint<T>where
T: GeoFloat,
Source§fn euclidean_distance(&self, point: &Point<T>) -> T
fn euclidean_distance(&self, point: &Point<T>) -> T
Minimum distance from a MultiPoint to a Point
Source§impl<T, IP> From<IP> for MultiPoint<T>
impl<T, IP> From<IP> for MultiPoint<T>
Source§fn from(x: IP) -> MultiPoint<T>
fn from(x: IP) -> MultiPoint<T>
Convert a single Point
(or something which can be converted to a
Point
) into a one-member MultiPoint
Source§impl<T> From<MultiPoint<T>> for Geometry<T>where
T: CoordNum,
impl<T> From<MultiPoint<T>> for Geometry<T>where
T: CoordNum,
Source§fn from(x: MultiPoint<T>) -> Geometry<T>
fn from(x: MultiPoint<T>) -> Geometry<T>
Source§impl<T, IP> From<Vec<IP>> for MultiPoint<T>
impl<T, IP> From<Vec<IP>> for MultiPoint<T>
Source§fn from(v: Vec<IP>) -> MultiPoint<T>
fn from(v: Vec<IP>) -> MultiPoint<T>
Convert a Vec
of Points
(or Vec
of things which can be converted
to a Point
) into a MultiPoint
.
Source§impl<T, IP> FromIterator<IP> for MultiPoint<T>
impl<T, IP> FromIterator<IP> for MultiPoint<T>
Source§fn from_iter<I>(iter: I) -> MultiPoint<T>where
I: IntoIterator<Item = IP>,
fn from_iter<I>(iter: I) -> MultiPoint<T>where
I: IntoIterator<Item = IP>,
Collect the results of a Point
iterator into a MultiPoint
Source§impl GeodesicArea<f64> for MultiPoint
impl GeodesicArea<f64> for MultiPoint
Source§fn geodesic_perimeter(&self) -> f64
fn geodesic_perimeter(&self) -> f64
Source§fn geodesic_area_signed(&self) -> f64
fn geodesic_area_signed(&self) -> f64
Source§fn geodesic_area_unsigned(&self) -> f64
fn geodesic_area_unsigned(&self) -> f64
Source§impl<C: CoordNum> HasDimensions for MultiPoint<C>
impl<C: CoordNum> HasDimensions for MultiPoint<C>
Source§fn dimensions(&self) -> Dimensions
fn dimensions(&self) -> Dimensions
Rect
s are 2-dimensional, but it’s possible to create degenerate Rect
s which
have either 1 or 0 dimensions. Read moreSource§fn boundary_dimensions(&self) -> Dimensions
fn boundary_dimensions(&self) -> Dimensions
Geometry
’s boundary, as used by OGC-SFA. Read moreSource§impl<T> Hash for MultiPoint<T>
impl<T> Hash for MultiPoint<T>
Source§impl<T> InteriorPoint for MultiPoint<T>where
T: GeoFloat,
use geo::InteriorPoint;
use geo::{MultiPoint, Point};
let empty: Vec<Point> = Vec::new();
let empty_multi_points: MultiPoint<_> = empty.into();
assert_eq!(empty_multi_points.interior_point(), None);
let points: MultiPoint<_> = vec![(5., 1.), (1., 3.), (3., 2.)].into();
assert_eq!(points.interior_point(), Some(Point::new(3., 2.)));
impl<T> InteriorPoint for MultiPoint<T>where
T: GeoFloat,
use geo::InteriorPoint;
use geo::{MultiPoint, Point};
let empty: Vec<Point> = Vec::new();
let empty_multi_points: MultiPoint<_> = empty.into();
assert_eq!(empty_multi_points.interior_point(), None);
let points: MultiPoint<_> = vec![(5., 1.), (1., 3.), (3., 2.)].into();
assert_eq!(points.interior_point(), Some(Point::new(3., 2.)));
Source§impl<T, G> Intersects<G> for MultiPoint<T>
impl<T, G> Intersects<G> for MultiPoint<T>
fn intersects(&self, rhs: &G) -> bool
Source§impl<T> Intersects<MultiPoint<T>> for Coord<T>
impl<T> Intersects<MultiPoint<T>> for Coord<T>
fn intersects(&self, rhs: &MultiPoint<T>) -> bool
Source§impl<T> Intersects<MultiPoint<T>> for Line<T>
impl<T> Intersects<MultiPoint<T>> for Line<T>
fn intersects(&self, rhs: &MultiPoint<T>) -> bool
Source§impl<T> Intersects<MultiPoint<T>> for Polygon<T>
impl<T> Intersects<MultiPoint<T>> for Polygon<T>
fn intersects(&self, rhs: &MultiPoint<T>) -> bool
Source§impl<T> Intersects<MultiPoint<T>> for Rect<T>
impl<T> Intersects<MultiPoint<T>> for Rect<T>
fn intersects(&self, rhs: &MultiPoint<T>) -> bool
Source§impl<'a, T> IntoIterator for &'a MultiPoint<T>where
T: CoordNum,
impl<'a, T> IntoIterator for &'a MultiPoint<T>where
T: CoordNum,
Source§impl<'a, T> IntoIterator for &'a mut MultiPoint<T>where
T: CoordNum,
impl<'a, T> IntoIterator for &'a mut MultiPoint<T>where
T: CoordNum,
Source§impl<T> IntoIterator for MultiPoint<T>where
T: CoordNum,
Iterate over the Point
s in this MultiPoint
.
impl<T> IntoIterator for MultiPoint<T>where
T: CoordNum,
Iterate over the Point
s in this MultiPoint
.
Source§impl<T> KNearestConcaveHull for MultiPoint<T>
impl<T> KNearestConcaveHull for MultiPoint<T>
Source§impl<T: CoordNum, NT: CoordNum> MapCoords<T, NT> for MultiPoint<T>
impl<T: CoordNum, NT: CoordNum> MapCoords<T, NT> for MultiPoint<T>
Source§impl<T: CoordNum> MapCoordsInPlace<T> for MultiPoint<T>
impl<T: CoordNum> MapCoordsInPlace<T> for MultiPoint<T>
Source§impl<T: CoordNum> MapCoordsInplace<T> for MultiPoint<T>
impl<T: CoordNum> MapCoordsInplace<T> for MultiPoint<T>
Source§fn map_coords_inplace(&mut self, func: impl Fn((T, T)) -> (T, T) + Copy)where
T: CoordNum,
👎Deprecated since 0.21.0: use MapCoordsInPlace::map_coords_in_place
instead which takes a Coord
instead of an (x,y) tuple
fn map_coords_inplace(&mut self, func: impl Fn((T, T)) -> (T, T) + Copy)where
T: CoordNum,
MapCoordsInPlace::map_coords_in_place
instead which takes a Coord
instead of an (x,y) tupleApply a function to all the coordinates in a geometric object, in place
§Examples
#[allow(deprecated)]
use geo::MapCoordsInplace;
use geo::Point;
use approx::assert_relative_eq;
let mut p = Point::new(10., 20.);
#[allow(deprecated)]
p.map_coords_inplace(|(x, y)| (x + 1000., y * 2.));
assert_relative_eq!(p, Point::new(1010., 40.), epsilon = 1e-6);
Source§impl<T> OutlierDetection<T> for MultiPoint<T>
impl<T> OutlierDetection<T> for MultiPoint<T>
Source§fn outliers(&self, k_neighbours: usize) -> Vec<T>
fn outliers(&self, k_neighbours: usize) -> Vec<T>
k_neighbours
specifies the number of neighbours to use for local outlier
classification. The paper linked above (see p. 100) suggests a k_neighbours
value of 10 - 20
as a lower bound for “real-world”
data. Read moreSource§fn prepared_detector(&self) -> PreparedDetector<'_, T>
fn prepared_detector(&self) -> PreparedDetector<'_, T>
PreparedDetector
can efficiently recompute outliers with different k_neigbhours
values.Source§fn generate_ensemble(&self, bounds: RangeInclusive<usize>) -> Vec<Vec<T>>
fn generate_ensemble(&self, bounds: RangeInclusive<usize>) -> Vec<Vec<T>>
k_neighbours
values between bounds
,
generating an ensemble of LOF scores, which may be aggregated using e.g. min, max, or mean Read moreSource§fn ensemble_min(&self, bounds: RangeInclusive<usize>) -> Vec<T>
fn ensemble_min(&self, bounds: RangeInclusive<usize>) -> Vec<T>
Source§fn ensemble_max(&self, bounds: RangeInclusive<usize>) -> Vec<T>
fn ensemble_max(&self, bounds: RangeInclusive<usize>) -> Vec<T>
Source§impl<T> PartialEq for MultiPoint<T>
impl<T> PartialEq for MultiPoint<T>
Source§impl<F: GeoFloat> Relate<F, GeometryCollection<F>> for MultiPoint<F>
impl<F: GeoFloat> Relate<F, GeometryCollection<F>> for MultiPoint<F>
fn relate(&self, other: &GeometryCollection<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, Line<F>> for MultiPoint<F>
impl<F: GeoFloat> Relate<F, Line<F>> for MultiPoint<F>
fn relate(&self, other: &Line<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, LineString<F>> for MultiPoint<F>
impl<F: GeoFloat> Relate<F, LineString<F>> for MultiPoint<F>
fn relate(&self, other: &LineString<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, MultiLineString<F>> for MultiPoint<F>
impl<F: GeoFloat> Relate<F, MultiLineString<F>> for MultiPoint<F>
fn relate(&self, other: &MultiLineString<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, MultiPoint<F>> for GeometryCollection<F>
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for GeometryCollection<F>
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, MultiPoint<F>> for Line<F>
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for Line<F>
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, MultiPoint<F>> for LineString<F>
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for LineString<F>
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, MultiPoint<F>> for MultiLineString<F>
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for MultiLineString<F>
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, MultiPoint<F>> for MultiPoint<F>
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for MultiPoint<F>
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, MultiPoint<F>> for MultiPolygon<F>
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for MultiPolygon<F>
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, MultiPoint<F>> for Point<F>
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for Point<F>
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, MultiPoint<F>> for Polygon<F>
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for Polygon<F>
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, MultiPoint<F>> for Rect<F>
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for Rect<F>
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, MultiPoint<F>> for Triangle<F>
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for Triangle<F>
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, MultiPolygon<F>> for MultiPoint<F>
impl<F: GeoFloat> Relate<F, MultiPolygon<F>> for MultiPoint<F>
fn relate(&self, other: &MultiPolygon<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, Point<F>> for MultiPoint<F>
impl<F: GeoFloat> Relate<F, Point<F>> for MultiPoint<F>
fn relate(&self, other: &Point<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, Polygon<F>> for MultiPoint<F>
impl<F: GeoFloat> Relate<F, Polygon<F>> for MultiPoint<F>
fn relate(&self, other: &Polygon<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, Rect<F>> for MultiPoint<F>
impl<F: GeoFloat> Relate<F, Rect<F>> for MultiPoint<F>
fn relate(&self, other: &Rect<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, Triangle<F>> for MultiPoint<F>
impl<F: GeoFloat> Relate<F, Triangle<F>> for MultiPoint<F>
fn relate(&self, other: &Triangle<F>) -> IntersectionMatrix
Source§impl<T> RelativeEq for MultiPoint<T>where
T: CoordNum + RelativeEq<Epsilon = T>,
impl<T> RelativeEq for MultiPoint<T>where
T: CoordNum + RelativeEq<Epsilon = T>,
Source§fn relative_eq(
&self,
other: &MultiPoint<T>,
epsilon: <MultiPoint<T> as AbsDiffEq>::Epsilon,
max_relative: <MultiPoint<T> as AbsDiffEq>::Epsilon,
) -> bool
fn relative_eq( &self, other: &MultiPoint<T>, epsilon: <MultiPoint<T> as AbsDiffEq>::Epsilon, max_relative: <MultiPoint<T> as AbsDiffEq>::Epsilon, ) -> bool
Equality assertion within a relative limit.
§Examples
use geo_types::MultiPoint;
use geo_types::point;
let a = MultiPoint::new(vec![point![x: 0., y: 0.], point![x: 10., y: 10.]]);
let b = MultiPoint::new(vec![point![x: 0., y: 0.], point![x: 10.001, y: 10.]]);
approx::assert_relative_eq!(a, b, max_relative=0.1)
Source§fn default_max_relative() -> <MultiPoint<T> as AbsDiffEq>::Epsilon
fn default_max_relative() -> <MultiPoint<T> as AbsDiffEq>::Epsilon
Source§fn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon,
) -> bool
fn relative_ne( &self, other: &Rhs, epsilon: Self::Epsilon, max_relative: Self::Epsilon, ) -> bool
RelativeEq::relative_eq
.Source§impl<T> RemoveRepeatedPoints<T> for MultiPoint<T>where
T: CoordNum + FromPrimitive,
impl<T> RemoveRepeatedPoints<T> for MultiPoint<T>where
T: CoordNum + FromPrimitive,
Source§fn remove_repeated_points(&self) -> Self
fn remove_repeated_points(&self) -> Self
Create a MultiPoint with repeated points removed.
Source§fn remove_repeated_points_mut(&mut self)
fn remove_repeated_points_mut(&mut self)
Remove repeated points from a MultiPoint inplace.
Source§impl<T> TryFrom<Geometry<T>> for MultiPoint<T>where
T: CoordNum,
Convert a Geometry enum into its inner type.
impl<T> TryFrom<Geometry<T>> for MultiPoint<T>where
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.
Source§impl<T: CoordNum, NT: CoordNum, E> TryMapCoords<T, NT, E> for MultiPoint<T>
impl<T: CoordNum, NT: CoordNum, E> TryMapCoords<T, NT, E> for MultiPoint<T>
Source§type Output = MultiPoint<NT>
type Output = MultiPoint<NT>
MapCoords::try_map_coords
which takes a Coord
instead of an (x,y) tupleSource§fn try_map_coords(
&self,
func: impl Fn((T, T)) -> Result<(NT, NT), E> + Copy,
) -> Result<Self::Output, E>
fn try_map_coords( &self, func: impl Fn((T, T)) -> Result<(NT, NT), E> + Copy, ) -> Result<Self::Output, E>
MapCoords::try_map_coords
which takes a Coord
instead of an (x,y) tupleSource§impl<T: CoordNum, E> TryMapCoordsInplace<T, E> for MultiPoint<T>
impl<T: CoordNum, E> TryMapCoordsInplace<T, E> for MultiPoint<T>
Source§fn try_map_coords_inplace(
&mut self,
func: impl Fn((T, T)) -> Result<(T, T), E>,
) -> Result<(), E>
fn try_map_coords_inplace( &mut self, func: impl Fn((T, T)) -> Result<(T, T), E>, ) -> Result<(), E>
MapCoordsInPlace::try_map_coords_in_place
which takes a Coord
instead of an (x,y) tupleResult
. Read moreSource§impl<T> UlpsEq for MultiPoint<T>
impl<T> UlpsEq for MultiPoint<T>
Source§fn default_max_ulps() -> u32
fn default_max_ulps() -> u32
Source§fn ulps_eq(
&self,
other: &MultiPoint<T>,
epsilon: <MultiPoint<T> as AbsDiffEq>::Epsilon,
max_ulps: u32,
) -> bool
fn ulps_eq( &self, other: &MultiPoint<T>, epsilon: <MultiPoint<T> as AbsDiffEq>::Epsilon, max_ulps: u32, ) -> bool
impl<T> Eq for MultiPoint<T>
impl<T> StructuralPartialEq for MultiPoint<T>where
T: CoordNum,
Auto Trait Implementations§
impl<T> Freeze for MultiPoint<T>
impl<T> RefUnwindSafe for MultiPoint<T>where
T: RefUnwindSafe,
impl<T> Send for MultiPoint<T>where
T: Send,
impl<T> Sync for MultiPoint<T>where
T: Sync,
impl<T> Unpin for MultiPoint<T>where
T: Unpin,
impl<T> UnwindSafe for MultiPoint<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T, M> AffineOps<T> for M
impl<T, M> AffineOps<T> for M
Source§fn affine_transform(&self, transform: &AffineTransform<T>) -> M
fn affine_transform(&self, transform: &AffineTransform<T>) -> M
transform
immutably, outputting a new geometry.Source§fn affine_transform_mut(&mut self, transform: &AffineTransform<T>)
fn affine_transform_mut(&mut self, transform: &AffineTransform<T>)
transform
to mutate self
.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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<'a, T, G> ConvexHull<'a, T> for Gwhere
T: GeoNum,
G: CoordsIter<'a, Scalar = T>,
impl<'a, T, G> ConvexHull<'a, T> for Gwhere
T: GeoNum,
G: CoordsIter<'a, Scalar = T>,
Source§impl<'a, T, G> Extremes<'a, T> for Gwhere
G: CoordsIter<'a, Scalar = T>,
T: CoordNum,
impl<'a, T, G> Extremes<'a, T> for Gwhere
G: CoordsIter<'a, Scalar = T>,
T: CoordNum,
Source§impl<'a, T, G> MinimumRotatedRect<'a, T> for G
impl<'a, T, G> MinimumRotatedRect<'a, T> for G
type Scalar = T
fn minimum_rotated_rect( &'a self, ) -> Option<Polygon<<G as MinimumRotatedRect<'a, T>>::Scalar>>
Source§impl<G, IP, IR, T> Rotate<T> for G
impl<G, IP, IR, T> Rotate<T> for G
Source§fn rotate_around_centroid(&self, degrees: T) -> G
fn rotate_around_centroid(&self, degrees: T) -> G
Source§fn rotate_around_centroid_mut(&mut self, degrees: T)
fn rotate_around_centroid_mut(&mut self, degrees: T)
Self::rotate_around_centroid
Source§fn rotate_around_center(&self, degrees: T) -> G
fn rotate_around_center(&self, degrees: T) -> G
Source§fn rotate_around_center_mut(&mut self, degrees: T)
fn rotate_around_center_mut(&mut self, degrees: T)
Self::rotate_around_center
Source§fn rotate_around_point(&self, degrees: T, point: Point<T>) -> G
fn rotate_around_point(&self, degrees: T, point: Point<T>) -> G
Source§fn rotate_around_point_mut(&mut self, degrees: T, point: Point<T>)
fn rotate_around_point_mut(&mut self, degrees: T, point: Point<T>)
Self::rotate_around_point
Source§impl<T, IR, G> Scale<T> for Gwhere
T: CoordFloat,
IR: Into<Option<Rect<T>>>,
G: Clone + AffineOps<T> + BoundingRect<T, Output = IR>,
impl<T, IR, G> Scale<T> for Gwhere
T: CoordFloat,
IR: Into<Option<Rect<T>>>,
G: Clone + AffineOps<T> + BoundingRect<T, Output = IR>,
Source§fn scale(&self, scale_factor: T) -> G
fn scale(&self, scale_factor: T) -> G
Source§fn scale_xy(&self, x_factor: T, y_factor: T) -> G
fn scale_xy(&self, x_factor: T, y_factor: T) -> G
x_factor
and
y_factor
to distort the geometry’s aspect ratio. Read moreSource§fn scale_xy_mut(&mut self, x_factor: T, y_factor: T)
fn scale_xy_mut(&mut self, x_factor: T, y_factor: T)
scale_xy
.Source§fn scale_around_point(
&self,
x_factor: T,
y_factor: T,
origin: impl Into<Coord<T>>,
) -> G
fn scale_around_point( &self, x_factor: T, y_factor: T, origin: impl Into<Coord<T>>, ) -> G
origin
. Read moreSource§fn scale_around_point_mut(
&mut self,
x_factor: T,
y_factor: T,
origin: impl Into<Coord<T>>,
)
fn scale_around_point_mut( &mut self, x_factor: T, y_factor: T, origin: impl Into<Coord<T>>, )
scale_around_point
.Source§impl<T, IR, G> Skew<T> for Gwhere
T: CoordFloat,
IR: Into<Option<Rect<T>>>,
G: Clone + AffineOps<T> + BoundingRect<T, Output = IR>,
impl<T, IR, G> Skew<T> for Gwhere
T: CoordFloat,
IR: Into<Option<Rect<T>>>,
G: Clone + AffineOps<T> + BoundingRect<T, Output = IR>,
Source§fn skew(&self, degrees: T) -> G
fn skew(&self, degrees: T) -> G
Source§fn skew_xy(&self, degrees_x: T, degrees_y: T) -> G
fn skew_xy(&self, degrees_x: T, degrees_y: T) -> G
Source§fn skew_xy_mut(&mut self, degrees_x: T, degrees_y: T)
fn skew_xy_mut(&mut self, degrees_x: T, degrees_y: T)
skew_xy
.Source§fn skew_around_point(&self, xs: T, ys: T, origin: impl Into<Coord<T>>) -> G
fn skew_around_point(&self, xs: T, ys: T, origin: impl Into<Coord<T>>) -> G
origin
, sheared by an
angle along the x and y dimensions. Read moreSource§fn skew_around_point_mut(&mut self, xs: T, ys: T, origin: impl Into<Coord<T>>)
fn skew_around_point_mut(&mut self, xs: T, ys: T, origin: impl Into<Coord<T>>)
skew_around_point
.