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<T: CoordNum> CoordsIter for MultiPoint<T>
impl<T: CoordNum> CoordsIter for MultiPoint<T>
Source§fn coords_count(&self) -> usize
fn coords_count(&self) -> usize
Return the number of coordinates in the MultiPoint
.
type Iter<'a> = Flatten<MapCoordsIter<'a, T, Iter<'a, Point<T>>, Point<T>>> where T: 'a
type ExteriorIter<'a> = <MultiPoint<T> as CoordsIter>::Iter<'a> where T: 'a
type Scalar = T
Source§fn coords_iter(&self) -> Self::Iter<'_>
fn coords_iter(&self) -> Self::Iter<'_>
Source§fn exterior_coords_iter(&self) -> Self::ExteriorIter<'_>
fn exterior_coords_iter(&self) -> Self::ExteriorIter<'_>
Source§impl<T> Debug for MultiPoint<T>
impl<T> Debug for MultiPoint<T>
Source§impl<F> Distance<F, &Geometry<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
impl<F> Distance<F, &Geometry<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
Source§fn distance(a: &Geometry<F>, b: &MultiPoint<F>) -> F
fn distance(a: &Geometry<F>, b: &MultiPoint<F>) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F> Distance<F, &GeometryCollection<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
impl<F> Distance<F, &GeometryCollection<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
Source§fn distance(a: &GeometryCollection<F>, b: &MultiPoint<F>) -> F
fn distance(a: &GeometryCollection<F>, b: &MultiPoint<F>) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F> Distance<F, &Line<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
impl<F> Distance<F, &Line<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
Source§fn distance(a: &Line<F>, b: &MultiPoint<F>) -> F
fn distance(a: &Line<F>, b: &MultiPoint<F>) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F> Distance<F, &LineString<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
impl<F> Distance<F, &LineString<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
Source§fn distance(a: &LineString<F>, b: &MultiPoint<F>) -> F
fn distance(a: &LineString<F>, b: &MultiPoint<F>) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F> Distance<F, &MultiLineString<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
impl<F> Distance<F, &MultiLineString<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
Source§fn distance(a: &MultiLineString<F>, b: &MultiPoint<F>) -> F
fn distance(a: &MultiLineString<F>, b: &MultiPoint<F>) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &Geometry<F>> for Euclidean
impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &Geometry<F>> for Euclidean
Source§fn distance(origin: &MultiPoint<F>, destination: &Geometry<F>) -> F
fn distance(origin: &MultiPoint<F>, destination: &Geometry<F>) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &GeometryCollection<F>> for Euclidean
impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &GeometryCollection<F>> for Euclidean
Source§fn distance(
iter_geometry: &MultiPoint<F>,
to_geometry: &GeometryCollection<F>,
) -> F
fn distance( iter_geometry: &MultiPoint<F>, to_geometry: &GeometryCollection<F>, ) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &Line<F>> for Euclidean
impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &Line<F>> for Euclidean
Source§fn distance(iter_geometry: &MultiPoint<F>, to_geometry: &Line<F>) -> F
fn distance(iter_geometry: &MultiPoint<F>, to_geometry: &Line<F>) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &LineString<F>> for Euclidean
impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &LineString<F>> for Euclidean
Source§fn distance(iter_geometry: &MultiPoint<F>, to_geometry: &LineString<F>) -> F
fn distance(iter_geometry: &MultiPoint<F>, to_geometry: &LineString<F>) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &MultiLineString<F>> for Euclidean
impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &MultiLineString<F>> for Euclidean
Source§fn distance(
iter_geometry: &MultiPoint<F>,
to_geometry: &MultiLineString<F>,
) -> F
fn distance( iter_geometry: &MultiPoint<F>, to_geometry: &MultiLineString<F>, ) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &MultiPoint<F>> for Euclidean
impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &MultiPoint<F>> for Euclidean
Source§fn distance(origin: &MultiPoint<F>, destination: &MultiPoint<F>) -> F
fn distance(origin: &MultiPoint<F>, destination: &MultiPoint<F>) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &MultiPolygon<F>> for Euclidean
impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &MultiPolygon<F>> for Euclidean
Source§fn distance(iter_geometry: &MultiPoint<F>, to_geometry: &MultiPolygon<F>) -> F
fn distance(iter_geometry: &MultiPoint<F>, to_geometry: &MultiPolygon<F>) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &Point<F>> for Euclidean
impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &Point<F>> for Euclidean
Source§fn distance(iter_geometry: &MultiPoint<F>, to_geometry: &Point<F>) -> F
fn distance(iter_geometry: &MultiPoint<F>, to_geometry: &Point<F>) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &Polygon<F>> for Euclidean
impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &Polygon<F>> for Euclidean
Source§fn distance(iter_geometry: &MultiPoint<F>, to_geometry: &Polygon<F>) -> F
fn distance(iter_geometry: &MultiPoint<F>, to_geometry: &Polygon<F>) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &Rect<F>> for Euclidean
impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &Rect<F>> for Euclidean
Source§fn distance(iter_geometry: &MultiPoint<F>, to_geometry: &Rect<F>) -> F
fn distance(iter_geometry: &MultiPoint<F>, to_geometry: &Rect<F>) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &Triangle<F>> for Euclidean
impl<F: GeoFloat> Distance<F, &MultiPoint<F>, &Triangle<F>> for Euclidean
Source§fn distance(iter_geometry: &MultiPoint<F>, to_geometry: &Triangle<F>) -> F
fn distance(iter_geometry: &MultiPoint<F>, to_geometry: &Triangle<F>) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F> Distance<F, &MultiPolygon<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
impl<F> Distance<F, &MultiPolygon<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
Source§fn distance(a: &MultiPolygon<F>, b: &MultiPoint<F>) -> F
fn distance(a: &MultiPolygon<F>, b: &MultiPoint<F>) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F> Distance<F, &Point<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
impl<F> Distance<F, &Point<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
Source§fn distance(a: &Point<F>, b: &MultiPoint<F>) -> F
fn distance(a: &Point<F>, b: &MultiPoint<F>) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F> Distance<F, &Polygon<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
impl<F> Distance<F, &Polygon<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
Source§fn distance(a: &Polygon<F>, b: &MultiPoint<F>) -> F
fn distance(a: &Polygon<F>, b: &MultiPoint<F>) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F> Distance<F, &Rect<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
impl<F> Distance<F, &Rect<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
Source§fn distance(a: &Rect<F>, b: &MultiPoint<F>) -> F
fn distance(a: &Rect<F>, b: &MultiPoint<F>) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<F> Distance<F, &Triangle<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
impl<F> Distance<F, &Triangle<F>, &MultiPoint<F>> for Euclideanwhere
F: GeoFloat,
Source§fn distance(a: &Triangle<F>, b: &MultiPoint<F>) -> F
fn distance(a: &Triangle<F>, b: &MultiPoint<F>) -> F
Point
to Point
is supported.
See specific implementations for details. Read moreSource§impl<T> EuclideanDistance<T> for MultiPoint<T>
impl<T> EuclideanDistance<T> for MultiPoint<T>
Source§fn euclidean_distance(&self, target: &MultiPoint<T>) -> T
fn euclidean_distance(&self, target: &MultiPoint<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, Geometry<T>> for MultiPoint<T>
impl<T> EuclideanDistance<T, Geometry<T>> for MultiPoint<T>
Source§fn euclidean_distance(&self, geom: &Geometry<T>) -> T
fn euclidean_distance(&self, geom: &Geometry<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, GeometryCollection<T>> for MultiPoint<T>
impl<T> EuclideanDistance<T, GeometryCollection<T>> for MultiPoint<T>
Source§fn euclidean_distance(&self, target: &GeometryCollection<T>) -> T
fn euclidean_distance(&self, target: &GeometryCollection<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, Line<T>> for MultiPoint<T>
impl<T> EuclideanDistance<T, Line<T>> for MultiPoint<T>
Source§fn euclidean_distance(&self, target: &Line<T>) -> T
fn euclidean_distance(&self, target: &Line<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, LineString<T>> for MultiPoint<T>
impl<T> EuclideanDistance<T, LineString<T>> for MultiPoint<T>
Source§fn euclidean_distance(&self, target: &LineString<T>) -> T
fn euclidean_distance(&self, target: &LineString<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, MultiLineString<T>> for MultiPoint<T>
impl<T> EuclideanDistance<T, MultiLineString<T>> for MultiPoint<T>
Source§fn euclidean_distance(&self, target: &MultiLineString<T>) -> T
fn euclidean_distance(&self, target: &MultiLineString<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, MultiPoint<T>> for Geometry<T>
impl<T> EuclideanDistance<T, MultiPoint<T>> for Geometry<T>
Source§fn euclidean_distance(&self, other: &MultiPoint<T>) -> T
fn euclidean_distance(&self, other: &MultiPoint<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, MultiPoint<T>> for GeometryCollection<T>
impl<T> EuclideanDistance<T, MultiPoint<T>> for GeometryCollection<T>
Source§fn euclidean_distance(&self, target: &MultiPoint<T>) -> T
fn euclidean_distance(&self, target: &MultiPoint<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, MultiPoint<T>> for Line<T>
impl<T> EuclideanDistance<T, MultiPoint<T>> for Line<T>
Source§fn euclidean_distance(&self, target: &MultiPoint<T>) -> T
fn euclidean_distance(&self, target: &MultiPoint<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, MultiPoint<T>> for LineString<T>
impl<T> EuclideanDistance<T, MultiPoint<T>> for LineString<T>
Source§fn euclidean_distance(&self, target: &MultiPoint<T>) -> T
fn euclidean_distance(&self, target: &MultiPoint<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, MultiPoint<T>> for MultiLineString<T>
impl<T> EuclideanDistance<T, MultiPoint<T>> for MultiLineString<T>
Source§fn euclidean_distance(&self, target: &MultiPoint<T>) -> T
fn euclidean_distance(&self, target: &MultiPoint<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, MultiPoint<T>> for MultiPolygon<T>
impl<T> EuclideanDistance<T, MultiPoint<T>> for MultiPolygon<T>
Source§fn euclidean_distance(&self, target: &MultiPoint<T>) -> T
fn euclidean_distance(&self, target: &MultiPoint<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, MultiPoint<T>> for Point<T>
impl<T> EuclideanDistance<T, MultiPoint<T>> for Point<T>
Source§fn euclidean_distance(&self, target: &MultiPoint<T>) -> T
fn euclidean_distance(&self, target: &MultiPoint<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, MultiPoint<T>> for Polygon<T>
impl<T> EuclideanDistance<T, MultiPoint<T>> for Polygon<T>
Source§fn euclidean_distance(&self, target: &MultiPoint<T>) -> T
fn euclidean_distance(&self, target: &MultiPoint<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, MultiPoint<T>> for Rect<T>
impl<T> EuclideanDistance<T, MultiPoint<T>> for Rect<T>
Source§fn euclidean_distance(&self, other: &MultiPoint<T>) -> T
fn euclidean_distance(&self, other: &MultiPoint<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, MultiPoint<T>> for Triangle<T>
impl<T> EuclideanDistance<T, MultiPoint<T>> for Triangle<T>
Source§fn euclidean_distance(&self, other: &MultiPoint<T>) -> T
fn euclidean_distance(&self, other: &MultiPoint<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, MultiPolygon<T>> for MultiPoint<T>
impl<T> EuclideanDistance<T, MultiPolygon<T>> for MultiPoint<T>
Source§fn euclidean_distance(&self, target: &MultiPolygon<T>) -> T
fn euclidean_distance(&self, target: &MultiPolygon<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, Point<T>> for MultiPoint<T>
impl<T> EuclideanDistance<T, Point<T>> for MultiPoint<T>
Source§fn euclidean_distance(&self, target: &Point<T>) -> T
fn euclidean_distance(&self, target: &Point<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, Polygon<T>> for MultiPoint<T>
impl<T> EuclideanDistance<T, Polygon<T>> for MultiPoint<T>
Source§fn euclidean_distance(&self, target: &Polygon<T>) -> T
fn euclidean_distance(&self, target: &Polygon<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, Rect<T>> for MultiPoint<T>
impl<T> EuclideanDistance<T, Rect<T>> for MultiPoint<T>
Source§fn euclidean_distance(&self, other: &Rect<T>) -> T
fn euclidean_distance(&self, other: &Rect<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<T> EuclideanDistance<T, Triangle<T>> for MultiPoint<T>
impl<T> EuclideanDistance<T, Triangle<T>> for MultiPoint<T>
Source§fn euclidean_distance(&self, other: &Triangle<T>) -> T
fn euclidean_distance(&self, other: &Triangle<T>) -> T
Euclidean::distance
method from the Distance
trait insteadSource§impl<'a, F: GeoFloat> From<&'a MultiPoint<F>> for PreparedGeometry<'a, F>
impl<'a, F: GeoFloat> From<&'a MultiPoint<F>> for PreparedGeometry<'a, F>
Source§fn from(multi_point: &'a MultiPoint<F>) -> Self
fn from(multi_point: &'a MultiPoint<F>) -> Self
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<'a, F: GeoFloat> From<MultiPoint<F>> for PreparedGeometry<'a, F>
impl<'a, F: GeoFloat> From<MultiPoint<F>> for PreparedGeometry<'a, F>
Source§fn from(multi_point: MultiPoint<F>) -> Self
fn from(multi_point: MultiPoint<F>) -> Self
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> HaversineClosestPoint<T> for MultiPoint<T>where
T: GeoFloat + FromPrimitive,
impl<T> HaversineClosestPoint<T> for MultiPoint<T>where
T: GeoFloat + FromPrimitive,
fn haversine_closest_point(&self, from: &Point<T>) -> Closest<T>
Source§impl<T> InteriorPoint for MultiPoint<T>where
T: GeoFloat,
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<T> Intersects<MultiPoint<T>> for Triangle<T>
impl<T> Intersects<MultiPoint<T>> for Triangle<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,
impl<T> IntoIterator for MultiPoint<T>where
T: CoordNum,
Iterate over the Point
s in this MultiPoint
.
Source§impl<'a, T> IntoParallelIterator for &'a MultiPoint<T>
impl<'a, T> IntoParallelIterator for &'a MultiPoint<T>
Source§fn into_par_iter(self) -> <&'a MultiPoint<T> as IntoParallelIterator>::Iter
fn into_par_iter(self) -> <&'a MultiPoint<T> as IntoParallelIterator>::Iter
self
into a parallel iterator. Read moreSource§impl<'a, T> IntoParallelIterator for &'a mut MultiPoint<T>
impl<'a, T> IntoParallelIterator for &'a mut MultiPoint<T>
Source§fn into_par_iter(self) -> <&'a mut MultiPoint<T> as IntoParallelIterator>::Iter
fn into_par_iter(self) -> <&'a mut MultiPoint<T> as IntoParallelIterator>::Iter
self
into a parallel iterator. Read moreSource§impl<T> IntoParallelIterator for MultiPoint<T>
impl<T> IntoParallelIterator for MultiPoint<T>
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> 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> for MultiPoint<F>
impl<F: GeoFloat> Relate<F> for MultiPoint<F>
Source§fn geometry_graph(&self, arg_index: usize) -> GeometryGraph<'_, F>
fn geometry_graph(&self, arg_index: usize) -> GeometryGraph<'_, F>
GeometryGraph
fn relate(&self, other: &impl Relate<F>) -> IntersectionMatrix
Source§impl<T> RelativeEq for MultiPoint<T>
impl<T> RelativeEq for MultiPoint<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,
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.
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<Scalar = T>,
impl<'a, T, G> ConvexHull<'a, T> for Gwhere
T: GeoNum,
G: CoordsIter<Scalar = T>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<'a, T, G> Extremes<'a, T> for Gwhere
G: CoordsIter<Scalar = T>,
T: CoordNum,
impl<'a, T, G> Extremes<'a, T> for Gwhere
G: CoordsIter<Scalar = T>,
T: CoordNum,
Source§impl<T, G> HausdorffDistance<T> for Gwhere
T: GeoFloat,
G: CoordsIter<Scalar = T>,
impl<T, G> HausdorffDistance<T> for Gwhere
T: GeoFloat,
G: CoordsIter<Scalar = T>,
fn hausdorff_distance<Rhs>(&self, rhs: &Rhs) -> Twhere
Rhs: CoordsIter<Scalar = T>,
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>
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>
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 moreSource§impl<'data, I> IntoParallelRefIterator<'data> for I
impl<'data, I> IntoParallelRefIterator<'data> for I
Source§impl<'data, I> IntoParallelRefMutIterator<'data> for I
impl<'data, I> IntoParallelRefMutIterator<'data> for I
Source§type Iter = <&'data mut I as IntoParallelIterator>::Iter
type Iter = <&'data mut I as IntoParallelIterator>::Iter
Source§type Item = <&'data mut I as IntoParallelIterator>::Item
type Item = <&'data mut I as IntoParallelIterator>::Item
&'data mut T
reference.Source§fn par_iter_mut(
&'data mut self,
) -> <I as IntoParallelRefMutIterator<'data>>::Iter
fn par_iter_mut( &'data mut self, ) -> <I as IntoParallelRefMutIterator<'data>>::Iter
self
. Read moreSource§impl<T, G> MinimumRotatedRect<T> for G
impl<T, G> MinimumRotatedRect<T> for G
type Scalar = T
fn minimum_rotated_rect( &self, ) -> Option<Polygon<<G as MinimumRotatedRect<T>>::Scalar>>
Source§impl<T> Pointable for T
impl<T> Pointable for T
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
.