Struct geo::Polygon
[−]
[src]
pub struct Polygon<T> where
T: Float, { pub exterior: LineString<T>, pub interiors: Vec<LineString<T>>, }
A representation of an area. Its outer boundary is represented by a LineString
that is both closed and simple
It has one exterior ring or shell, and zero or more interior rings, representing holes.
Fields
exterior: LineString<T>
interiors: Vec<LineString<T>>
Methods
impl<T> Polygon<T> where
T: Float,
[src]
T: Float,
fn new(exterior: LineString<T>, interiors: Vec<LineString<T>>) -> Polygon<T>
[src]
Creates a new polygon.
use geo::{Point, LineString, Polygon}; let exterior = LineString(vec![Point::new(0., 0.), Point::new(1., 1.), Point::new(1., 0.), Point::new(0., 0.)]); let interiors = vec![LineString(vec![Point::new(0.1, 0.1), Point::new(0.9, 0.9), Point::new(0.9, 0.1), Point::new(0.1, 0.1)])]; let p = Polygon::new(exterior.clone(), interiors.clone()); assert_eq!(p.exterior, exterior); assert_eq!(p.interiors, interiors);
Trait Implementations
impl<T: PartialEq> PartialEq for Polygon<T> where
T: Float,
[src]
T: Float,
fn eq(&self, __arg_0: &Polygon<T>) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Polygon<T>) -> bool
[src]
This method tests for !=
.
impl<T: Clone> Clone for Polygon<T> where
T: Float,
[src]
T: Float,
fn clone(&self) -> Polygon<T>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<T: Debug> Debug for Polygon<T> where
T: Float,
[src]
T: Float,
impl<T> Centroid<T> for Polygon<T> where
T: Float + FromPrimitive,
[src]
T: Float + FromPrimitive,
impl<T> Contains<Point<T>> for Polygon<T> where
T: Float,
[src]
T: Float,
fn contains(&self, p: &Point<T>) -> bool
[src]
Checks if the geometry A is completely inside the B geometry. Read more
impl<T> Contains<Line<T>> for Polygon<T> where
T: Float,
[src]
T: Float,
fn contains(&self, line: &Line<T>) -> bool
[src]
Checks if the geometry A is completely inside the B geometry. Read more
impl<T> Contains<Polygon<T>> for Polygon<T> where
T: Float,
[src]
T: Float,
fn contains(&self, poly: &Polygon<T>) -> bool
[src]
Checks if the geometry A is completely inside the B geometry. Read more
impl<T> Contains<LineString<T>> for Polygon<T> where
T: Float,
[src]
T: Float,
fn contains(&self, linestring: &LineString<T>) -> bool
[src]
Checks if the geometry A is completely inside the B geometry. Read more
impl<T> Intersects<Line<T>> for Polygon<T> where
T: Float,
[src]
T: Float,
fn intersects(&self, line: &Line<T>) -> bool
[src]
Checks if the geometry A intersects the geometry B. Read more
impl<T> Intersects<LineString<T>> for Polygon<T> where
T: Float,
[src]
T: Float,
fn intersects(&self, linestring: &LineString<T>) -> bool
[src]
Checks if the geometry A intersects the geometry B. Read more
impl<T> Intersects<Bbox<T>> for Polygon<T> where
T: Float,
[src]
T: Float,
fn intersects(&self, bbox: &Bbox<T>) -> bool
[src]
Checks if the geometry A intersects the geometry B. Read more
impl<T> Intersects<Polygon<T>> for Polygon<T> where
T: Float,
[src]
T: Float,
fn intersects(&self, polygon: &Polygon<T>) -> bool
[src]
Checks if the geometry A intersects the geometry B. Read more
impl<T> Area<T> for Polygon<T> where
T: Float,
[src]
T: Float,
fn area(&self) -> T
[src]
Area of polygon. See: https://en.wikipedia.org/wiki/Polygon Read more
impl<T> Distance<T, Point<T>> for Polygon<T> where
T: Float,
[src]
T: Float,
impl<T> BoundingBox<T> for Polygon<T> where
T: Float,
[src]
T: Float,
type Output = Option<Bbox<T>>
fn bbox(&self) -> Self::Output
[src]
Return the BoundingBox for a Polygon
impl<T> Simplify<T> for Polygon<T> where
T: Float,
[src]
T: Float,
fn simplify(&self, epsilon: &T) -> Polygon<T>
[src]
Returns the simplified representation of a geometry, using the Ramer–Douglas–Peucker algorithm Read more
impl<T> SimplifyVWPreserve<T> for Polygon<T> where
T: Float + SpadeFloat,
[src]
T: Float + SpadeFloat,
fn simplifyvw_preserve(&self, epsilon: &T) -> Polygon<T>
[src]
Returns the simplified representation of a geometry, using a topology-preserving variant of the Visvalingam-Whyatt algorithm. Read more
impl<T> SimplifyVW<T> for Polygon<T> where
T: Float,
[src]
T: Float,
fn simplifyvw(&self, epsilon: &T) -> Polygon<T>
[src]
Returns the simplified representation of a geometry, using the Visvalingam-Whyatt algorithm Read more
impl<T> ConvexHull<T> for Polygon<T> where
T: Float,
[src]
T: Float,
fn convex_hull(&self) -> Polygon<T>
[src]
Returns the convex hull of a Polygon. The hull is always oriented counter-clockwise. Read more
impl<T> Orient<T> for Polygon<T> where
T: Float,
[src]
T: Float,
fn orient(&self, direction: Direction) -> Polygon<T>
[src]
Orients a Polygon's exterior and interior rings according to convention Read more
impl<T> ExtremeIndices<T> for Polygon<T> where
T: Float + Signed,
[src]
T: Float + Signed,
fn extreme_indices(&self) -> Result<Extremes, ()>
[src]
Find the extreme x
and y
indices of a convex Polygon Read more
impl<T> Rotate<T> for Polygon<T> where
T: Float + FromPrimitive,
[src]
T: Float + FromPrimitive,
fn rotate(&self, angle: T) -> Self
[src]
Rotate the Polygon about its centroid by the given number of degrees
impl<T: Float, NT: Float> MapCoords<T, NT> for Polygon<T>
[src]
type Output = Polygon<NT>
fn map_coords(&self, func: &Fn(&(T, T)) -> (NT, NT)) -> Self::Output
[src]
Apply a function to all the coordinates in a geometric object, returning a new object. Read more
impl<T: Float> MapCoordsInplace<T> for Polygon<T>
[src]
fn map_coords_inplace(&mut self, func: &Fn(&(T, T)) -> (T, T))
[src]
Apply a function to all the coordinates in a geometric object, in place Read more
impl<F: Float> ClosestPoint<F> for Polygon<F>
[src]
fn closest_point(&self, p: &Point<F>) -> Closest<F>
[src]
Find the closest point between self
and p
.
impl ToPostgis<Polygon> for Polygon<f64>
[src]
fn to_postgis_with_srid(&self, srid: Option<i32>) -> Polygon
[src]
Converts this geometry to a PostGIS type, using the supplied SRID.
fn to_postgis_wgs84(&self) -> T
[src]
Converts this WGS84 geometry to a PostGIS type.