pub trait Contains<Rhs = Self> {
    // Required method
    fn contains(&self, rhs: &Rhs) -> bool;
}
Expand description

Checks if rhs is completely contained within self. More formally, the interior of rhs has non-empty (set-theoretic) intersection but neither the interior, nor the boundary of rhs intersects the exterior of self. In other words, the DE-9IM intersection matrix of (rhs, self) is T*F**F***.

§Examples

use geo::Contains;
use geo::{line_string, point, Polygon};

let line_string = line_string![
    (x: 0., y: 0.),
    (x: 2., y: 0.),
    (x: 2., y: 2.),
    (x: 0., y: 2.),
    (x: 0., y: 0.),
];

let polygon = Polygon::new(line_string.clone(), vec![]);

// Point in Point
assert!(point!(x: 2., y: 0.).contains(&point!(x: 2., y: 0.)));

// Point in Linestring
assert!(line_string.contains(&point!(x: 2., y: 0.)));

// Point in Polygon
assert!(polygon.contains(&point!(x: 1., y: 1.)));

Required Methods§

source

fn contains(&self, rhs: &Rhs) -> bool

Implementors§

source§

impl<F> Contains for MultiPolygon<F>
where F: GeoFloat,

source§

impl<F> Contains<GeometryCollection<F>> for MultiPolygon<F>
where F: GeoFloat,

source§

impl<F> Contains<Line<F>> for MultiPolygon<F>
where F: GeoFloat,

source§

impl<F> Contains<LineString<F>> for MultiPolygon<F>
where F: GeoFloat,

source§

impl<F> Contains<MultiLineString<F>> for MultiPolygon<F>
where F: GeoFloat,

source§

impl<F> Contains<Polygon<F>> for MultiPolygon<F>
where F: GeoFloat,

source§

impl<F> Contains<Rect<F>> for MultiPolygon<F>
where F: GeoFloat,

source§

impl<F> Contains<Triangle<F>> for MultiPolygon<F>
where F: GeoFloat,

source§

impl<T> Contains for Geometry<T>
where T: GeoFloat,

source§

impl<T> Contains for GeometryCollection<T>
where T: GeoFloat,

source§

impl<T> Contains for Line<T>
where T: GeoNum,

source§

impl<T> Contains for LineString<T>
where T: GeoNum,

source§

impl<T> Contains for MultiLineString<T>
where T: GeoFloat,

source§

impl<T> Contains for MultiPoint<T>
where T: GeoFloat,

source§

impl<T> Contains for Point<T>
where T: CoordNum,

source§

impl<T> Contains for Polygon<T>
where T: GeoFloat,

source§

impl<T> Contains for Rect<T>
where T: CoordNum,

source§

impl<T> Contains for Triangle<T>
where T: GeoFloat,

source§

impl<T> Contains<Geometry<T>> for GeometryCollection<T>
where T: GeoFloat,

source§

impl<T> Contains<Geometry<T>> for Line<T>
where T: GeoFloat,

source§

impl<T> Contains<Geometry<T>> for LineString<T>
where T: GeoFloat,

source§

impl<T> Contains<Geometry<T>> for MultiLineString<T>
where T: GeoFloat,

source§

impl<T> Contains<Geometry<T>> for Point<T>
where T: GeoFloat,

source§

impl<T> Contains<Geometry<T>> for Polygon<T>
where T: GeoFloat,

source§

impl<T> Contains<Geometry<T>> for Rect<T>
where T: GeoFloat,

source§

impl<T> Contains<Geometry<T>> for Triangle<T>
where T: GeoFloat,

source§

impl<T> Contains<Coord<T>> for Geometry<T>
where T: GeoNum,

source§

impl<T> Contains<Coord<T>> for GeometryCollection<T>
where T: GeoNum,

source§

impl<T> Contains<Coord<T>> for Line<T>
where T: GeoNum,

source§

impl<T> Contains<Coord<T>> for LineString<T>
where T: GeoNum,

source§

impl<T> Contains<Coord<T>> for MultiPoint<T>
where T: CoordNum,

source§

impl<T> Contains<Coord<T>> for MultiPolygon<T>
where T: GeoNum,

source§

impl<T> Contains<Coord<T>> for Point<T>
where T: CoordNum,

source§

impl<T> Contains<Coord<T>> for Polygon<T>
where T: GeoNum,

source§

impl<T> Contains<Coord<T>> for Rect<T>
where T: CoordNum,

source§

impl<T> Contains<Coord<T>> for Triangle<T>
where T: GeoNum,

source§

impl<T> Contains<GeometryCollection<T>> for Geometry<T>
where T: GeoFloat,

source§

impl<T> Contains<GeometryCollection<T>> for Line<T>
where T: GeoFloat,

source§

impl<T> Contains<GeometryCollection<T>> for LineString<T>
where T: GeoFloat,

source§

impl<T> Contains<GeometryCollection<T>> for MultiLineString<T>
where T: GeoFloat,

source§

impl<T> Contains<GeometryCollection<T>> for MultiPoint<T>
where T: GeoFloat,

source§

impl<T> Contains<GeometryCollection<T>> for Point<T>
where T: GeoFloat,

source§

impl<T> Contains<GeometryCollection<T>> for Polygon<T>
where T: GeoFloat,

source§

impl<T> Contains<GeometryCollection<T>> for Rect<T>
where T: GeoFloat,

source§

impl<T> Contains<GeometryCollection<T>> for Triangle<T>
where T: GeoFloat,

source§

impl<T> Contains<Line<T>> for Geometry<T>
where T: GeoFloat,

source§

impl<T> Contains<Line<T>> for GeometryCollection<T>
where T: GeoFloat,

source§

impl<T> Contains<Line<T>> for LineString<T>
where T: GeoNum,

source§

impl<T> Contains<Line<T>> for MultiLineString<T>
where T: GeoFloat,

source§

impl<T> Contains<Line<T>> for MultiPoint<T>
where T: GeoFloat,

source§

impl<T> Contains<Line<T>> for Point<T>
where T: CoordNum,

source§

impl<T> Contains<Line<T>> for Polygon<T>
where T: GeoFloat,

source§

impl<T> Contains<Line<T>> for Rect<T>
where T: GeoFloat,

source§

impl<T> Contains<Line<T>> for Triangle<T>
where T: GeoFloat,

source§

impl<T> Contains<LineString<T>> for Geometry<T>
where T: GeoFloat,

source§

impl<T> Contains<LineString<T>> for GeometryCollection<T>
where T: GeoFloat,

source§

impl<T> Contains<LineString<T>> for Line<T>
where T: GeoNum,

source§

impl<T> Contains<LineString<T>> for MultiLineString<T>
where T: GeoFloat,

source§

impl<T> Contains<LineString<T>> for MultiPoint<T>
where T: GeoFloat,

source§

impl<T> Contains<LineString<T>> for Point<T>
where T: CoordNum,

source§

impl<T> Contains<LineString<T>> for Polygon<T>
where T: GeoFloat,

source§

impl<T> Contains<LineString<T>> for Rect<T>
where T: GeoFloat,

source§

impl<T> Contains<LineString<T>> for Triangle<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiLineString<T>> for Geometry<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiLineString<T>> for GeometryCollection<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiLineString<T>> for Line<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiLineString<T>> for LineString<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiLineString<T>> for MultiPoint<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiLineString<T>> for Point<T>
where T: CoordNum,

source§

impl<T> Contains<MultiLineString<T>> for Polygon<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiLineString<T>> for Rect<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiLineString<T>> for Triangle<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiPoint<T>> for Geometry<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiPoint<T>> for GeometryCollection<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiPoint<T>> for Line<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiPoint<T>> for LineString<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiPoint<T>> for MultiLineString<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiPoint<T>> for Point<T>
where T: CoordNum,

source§

impl<T> Contains<MultiPoint<T>> for Polygon<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiPoint<T>> for Rect<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiPoint<T>> for Triangle<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiPolygon<T>> for Geometry<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiPolygon<T>> for GeometryCollection<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiPolygon<T>> for Line<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiPolygon<T>> for LineString<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiPolygon<T>> for MultiLineString<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiPolygon<T>> for MultiPoint<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiPolygon<T>> for Point<T>
where T: CoordNum,

source§

impl<T> Contains<MultiPolygon<T>> for Polygon<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiPolygon<T>> for Rect<T>
where T: GeoFloat,

source§

impl<T> Contains<MultiPolygon<T>> for Triangle<T>
where T: GeoFloat,

source§

impl<T> Contains<Point<T>> for Geometry<T>
where T: GeoNum,

source§

impl<T> Contains<Point<T>> for GeometryCollection<T>
where T: GeoNum,

source§

impl<T> Contains<Point<T>> for Line<T>
where T: GeoNum,

source§

impl<T> Contains<Point<T>> for LineString<T>
where T: GeoNum,

source§

impl<T> Contains<Point<T>> for MultiLineString<T>
where T: CoordNum, LineString<T>: Contains<Point<T>>,

source§

impl<T> Contains<Point<T>> for MultiPoint<T>
where T: CoordNum,

source§

impl<T> Contains<Point<T>> for MultiPolygon<T>
where T: GeoNum,

source§

impl<T> Contains<Point<T>> for Polygon<T>
where T: GeoNum,

source§

impl<T> Contains<Point<T>> for Rect<T>
where T: CoordNum,

source§

impl<T> Contains<Point<T>> for Triangle<T>
where T: GeoNum,

source§

impl<T> Contains<Polygon<T>> for Geometry<T>
where T: GeoFloat,

source§

impl<T> Contains<Polygon<T>> for GeometryCollection<T>
where T: GeoFloat,

source§

impl<T> Contains<Polygon<T>> for Line<T>
where T: GeoFloat,

source§

impl<T> Contains<Polygon<T>> for LineString<T>
where T: GeoFloat,

source§

impl<T> Contains<Polygon<T>> for MultiLineString<T>
where T: GeoFloat,

source§

impl<T> Contains<Polygon<T>> for MultiPoint<T>
where T: GeoFloat,

source§

impl<T> Contains<Polygon<T>> for Point<T>
where T: CoordNum,

source§

impl<T> Contains<Polygon<T>> for Rect<T>
where T: GeoFloat,

source§

impl<T> Contains<Polygon<T>> for Triangle<T>
where T: GeoFloat,

source§

impl<T> Contains<Rect<T>> for Geometry<T>
where T: GeoFloat,

source§

impl<T> Contains<Rect<T>> for GeometryCollection<T>
where T: GeoFloat,

source§

impl<T> Contains<Rect<T>> for Line<T>
where T: GeoFloat,

source§

impl<T> Contains<Rect<T>> for LineString<T>
where T: GeoFloat,

source§

impl<T> Contains<Rect<T>> for MultiLineString<T>
where T: GeoFloat,

source§

impl<T> Contains<Rect<T>> for MultiPoint<T>
where T: GeoFloat,

source§

impl<T> Contains<Rect<T>> for Point<T>
where T: CoordNum,

source§

impl<T> Contains<Rect<T>> for Polygon<T>
where T: GeoFloat,

source§

impl<T> Contains<Rect<T>> for Triangle<T>
where T: GeoFloat,

source§

impl<T> Contains<Triangle<T>> for Geometry<T>
where T: GeoFloat,

source§

impl<T> Contains<Triangle<T>> for GeometryCollection<T>
where T: GeoFloat,

source§

impl<T> Contains<Triangle<T>> for Line<T>
where T: GeoFloat,

source§

impl<T> Contains<Triangle<T>> for LineString<T>
where T: GeoFloat,

source§

impl<T> Contains<Triangle<T>> for MultiLineString<T>
where T: GeoFloat,

source§

impl<T> Contains<Triangle<T>> for MultiPoint<T>
where T: GeoFloat,

source§

impl<T> Contains<Triangle<T>> for Point<T>
where T: CoordNum,

source§

impl<T> Contains<Triangle<T>> for Polygon<T>
where T: GeoFloat,

source§

impl<T> Contains<Triangle<T>> for Rect<T>
where T: GeoFloat,

source§

impl<T: GeoNum> Contains<MultiPoint<T>> for MultiPolygon<T>