[−][src]Struct geo::MultiLineString
A collection of
LineString
s. Can
be created from a Vec
of LineString
s, or from an
Iterator which yields LineString
s. Iterating over this
object yields the component LineString
s.
Semantics
The boundary of a MultiLineString
is obtained by
applying the “mod 2” union rule: A Point
is in the
boundary of a MultiLineString
if it is in the
boundaries of an odd number of elements of the
MultiLineString
.
The interior of a MultiLineString
is the union of
the interior, and boundary of the constituent
LineString
s, except for the boundary as defined
above. In other words, it is the set difference of the
boundary from the union of the interior and boundary of
the constituents.
A MultiLineString
is simple if and only if all of
its elements are simple and the only intersections
between any two elements occur at Point
s that are on
the boundaries of both elements. A MultiLineString
is
closed if all of its elements are closed. The boundary
of a closed MultiLineString
is always empty.
Trait Implementations
impl<T> Area<T> for MultiLineString<T> where
T: CoordinateType,
[src]
T: CoordinateType,
fn signed_area(&self) -> T
[src]
fn unsigned_area(&self) -> T
[src]
impl<T> BoundingRect<T> for MultiLineString<T> where
T: CoordinateType,
[src]
T: CoordinateType,
type Output = Option<Rect<T>>
fn bounding_rect(&self) -> Self::Output
[src]
Return the BoundingRect for a MultiLineString
impl<T> Centroid for MultiLineString<T> where
T: Float + FromPrimitive + Sum,
[src]
T: Float + FromPrimitive + Sum,
type Output = Option<Point<T>>
fn centroid(&self) -> Self::Output
[src]
The Centroid of a MultiLineString is the mean of the centroids of all the constituent linestrings, weighted by the length of each linestring
impl<T> Clone for MultiLineString<T> where
T: Clone + CoordinateType,
[src]
T: Clone + CoordinateType,
fn clone(&self) -> MultiLineString<T>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<F: Float + HasKernel> ClosestPoint<F, Point<F>> for MultiLineString<F>
[src]
fn closest_point(&self, p: &Point<F>) -> Closest<F>
[src]
impl<T> ConcaveHull for MultiLineString<T> where
T: Float + RTreeNum + HasKernel,
[src]
T: Float + RTreeNum + HasKernel,
type Scalar = T
fn concave_hull(&self, concavity: T) -> Polygon<T>
[src]
impl<G, T> Contains<G> for MultiLineString<T> where
T: CoordinateType,
LineString<T>: Contains<G>,
[src]
T: CoordinateType,
LineString<T>: Contains<G>,
impl<T> ConvexHull for MultiLineString<T> where
T: HasKernel,
[src]
T: HasKernel,
type Scalar = T
fn convex_hull(&self) -> Polygon<T>
[src]
impl<T> Debug for MultiLineString<T> where
T: Debug + CoordinateType,
[src]
T: Debug + CoordinateType,
impl<T> Eq for MultiLineString<T> where
T: Eq + CoordinateType,
[src]
T: Eq + CoordinateType,
impl<T> EuclideanDistance<T, MultiLineString<T>> for Point<T> where
T: Float,
[src]
T: Float,
fn euclidean_distance(&self, mls: &MultiLineString<T>) -> T
[src]
Minimum distance from a Point to a MultiLineString
impl<T> EuclideanDistance<T, Point<T>> for MultiLineString<T> where
T: Float,
[src]
T: Float,
fn euclidean_distance(&self, point: &Point<T>) -> T
[src]
Minimum distance from a MultiLineString to a Point
impl<T> EuclideanLength<T, MultiLineString<T>> for MultiLineString<T> where
T: Float + Sum,
[src]
T: Float + Sum,
fn euclidean_length(&self) -> T
[src]
impl<T, ILS> From<ILS> for MultiLineString<T> where
ILS: Into<LineString<T>>,
T: CoordinateType,
[src]
ILS: Into<LineString<T>>,
T: CoordinateType,
fn from(ls: ILS) -> MultiLineString<T>
[src]
impl<T> From<MultiLineString<T>> for Geometry<T> where
T: CoordinateType,
[src]
T: CoordinateType,
fn from(x: MultiLineString<T>) -> Geometry<T>
[src]
impl<T, ILS> FromIterator<ILS> for MultiLineString<T> where
ILS: Into<LineString<T>>,
T: CoordinateType,
[src]
ILS: Into<LineString<T>>,
T: CoordinateType,
fn from_iter<I>(iter: I) -> MultiLineString<T> where
I: IntoIterator<Item = ILS>,
[src]
I: IntoIterator<Item = ILS>,
impl GeodesicLength<f64, MultiLineString<f64>> for MultiLineString<f64>
[src]
fn geodesic_length(&self) -> f64
[src]
impl<T> Hash for MultiLineString<T> where
T: Hash + CoordinateType,
[src]
T: Hash + CoordinateType,
fn hash<__H>(&self, state: &mut __H) where
__H: Hasher,
[src]
__H: Hasher,
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<T> HaversineLength<T, MultiLineString<T>> for MultiLineString<T> where
T: Float + FromPrimitive,
[src]
T: Float + FromPrimitive,
fn haversine_length(&self) -> T
[src]
impl<T, G> Intersects<G> for MultiLineString<T> where
T: CoordinateType,
LineString<T>: Intersects<G>,
[src]
T: CoordinateType,
LineString<T>: Intersects<G>,
fn intersects(&self, rhs: &G) -> bool
[src]
impl<T> Intersects<MultiLineString<T>> for Polygon<T> where
MultiLineString<T>: Intersects<Polygon<T>>,
T: CoordinateType,
[src]
MultiLineString<T>: Intersects<Polygon<T>>,
T: CoordinateType,
fn intersects(&self, rhs: &MultiLineString<T>) -> bool
[src]
impl<T> IntoIterator for MultiLineString<T> where
T: CoordinateType,
[src]
T: CoordinateType,
type Item = LineString<T>
The type of the elements being iterated over.
type IntoIter = IntoIter<LineString<T>>
Which kind of iterator are we turning this into?
fn into_iter(self) -> <MultiLineString<T> as IntoIterator>::IntoIter
[src]
impl<T: CoordinateType, NT: CoordinateType> MapCoords<T, NT> for MultiLineString<T>
[src]
type Output = MultiLineString<NT>
fn map_coords(&self, func: impl Fn(&(T, T)) -> (NT, NT) + Copy) -> Self::Output
[src]
impl<T: CoordinateType> MapCoordsInplace<T> for MultiLineString<T>
[src]
impl<T> PartialEq<MultiLineString<T>> for MultiLineString<T> where
T: PartialEq<T> + CoordinateType,
[src]
T: PartialEq<T> + CoordinateType,
fn eq(&self, other: &MultiLineString<T>) -> bool
[src]
fn ne(&self, other: &MultiLineString<T>) -> bool
[src]
impl<T> Rotate<T> for MultiLineString<T> where
T: Float + FromPrimitive,
[src]
T: Float + FromPrimitive,
fn rotate(&self, angle: T) -> Self
[src]
Rotate the contained LineStrings about their centroids by the given number of degrees
impl<T> Simplify<T, T> for MultiLineString<T> where
T: Float,
[src]
T: Float,
impl<T> SimplifyVW<T, T> for MultiLineString<T> where
T: Float,
[src]
T: Float,
fn simplifyvw(&self, epsilon: &T) -> MultiLineString<T>
[src]
impl<T> SimplifyVWPreserve<T, T> for MultiLineString<T> where
T: Float + RTreeNum,
[src]
T: Float + RTreeNum,
fn simplifyvw_preserve(&self, epsilon: &T) -> MultiLineString<T>
[src]
impl<T> StructuralEq for MultiLineString<T> where
T: CoordinateType,
[src]
T: CoordinateType,
impl<T> StructuralPartialEq for MultiLineString<T> where
T: CoordinateType,
[src]
T: CoordinateType,
impl<T> TryFrom<Geometry<T>> for MultiLineString<T> where
T: Float,
[src]
T: Float,
type Error = FailedToConvertError
The type returned in the event of a conversion error.
fn try_from(
geom: Geometry<T>
) -> Result<MultiLineString<T>, <MultiLineString<T> as TryFrom<Geometry<T>>>::Error>
[src]
geom: Geometry<T>
) -> Result<MultiLineString<T>, <MultiLineString<T> as TryFrom<Geometry<T>>>::Error>
impl<T: CoordinateType, NT: CoordinateType> TryMapCoords<T, NT> for MultiLineString<T>
[src]
type Output = MultiLineString<NT>
fn try_map_coords(
&self,
func: impl Fn(&(T, T)) -> Result<(NT, NT), Box<dyn Error + Send + Sync>> + Copy
) -> Result<Self::Output, Box<dyn Error + Send + Sync>>
[src]
&self,
func: impl Fn(&(T, T)) -> Result<(NT, NT), Box<dyn Error + Send + Sync>> + Copy
) -> Result<Self::Output, Box<dyn Error + Send + Sync>>
impl<T> VincentyLength<T, MultiLineString<T>> for MultiLineString<T> where
T: Float + FromPrimitive,
[src]
T: Float + FromPrimitive,
fn vincenty_length(&self) -> Result<T, FailedToConvergeError>
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for MultiLineString<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for MultiLineString<T> where
T: Send,
T: Send,
impl<T> Sync for MultiLineString<T> where
T: Sync,
T: Sync,
impl<T> Unpin for MultiLineString<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for MultiLineString<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,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<I> IntoIterator for I where
I: Iterator,
[src]
I: Iterator,
type Item = <I as Iterator>::Item
The type of the elements being iterated over.
type IntoIter = I
Which kind of iterator are we turning this into?
fn into_iter(self) -> I
[src]
impl<T, G> RotatePoint<T> for G where
G: MapCoords<T, T, Output = G>,
T: Float,
[src]
G: MapCoords<T, T, Output = G>,
T: Float,
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.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, G> Translate<T> for G where
G: MapCoords<T, T, Output = G> + MapCoordsInplace<T>,
T: CoordinateType,
[src]
G: MapCoords<T, T, Output = G> + MapCoordsInplace<T>,
T: CoordinateType,
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.
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>,