Struct geo::Polygon [] [src]

pub struct Polygon<T> where
    T: CoordinateType
{ 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

Methods

impl<T> Polygon<T> where
    T: CoordinateType
[src]

[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: CoordinateType
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

[src]

This method tests for !=.

impl<T: Clone> Clone for Polygon<T> where
    T: CoordinateType
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl<T: Debug> Debug for Polygon<T> where
    T: CoordinateType
[src]

[src]

Formats the value using the given formatter. Read more

impl<T: CoordinateType> From<Polygon<T>> for Geometry<T>
[src]

[src]

Performs the conversion.

impl<T> Centroid<T> for Polygon<T> where
    T: Float + FromPrimitive
[src]

[src]

See: https://en.wikipedia.org/wiki/Centroid Read more

impl<T> Contains<Point<T>> for Polygon<T> where
    T: Float
[src]

[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]

[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]

[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]

[src]

Checks if the geometry A is completely inside the B geometry. Read more

impl<T> Intersects<Polygon<T>> for Line<T> where
    T: Float
[src]

[src]

Checks if the geometry A intersects the geometry B. Read more

impl<T> Intersects<Line<T>> for Polygon<T> where
    T: Float
[src]

[src]

Checks if the geometry A intersects the geometry B. Read more

impl<T> Intersects<LineString<T>> for Polygon<T> where
    T: Float
[src]

[src]

Checks if the geometry A intersects the geometry B. Read more

impl<T> Intersects<Polygon<T>> for Bbox<T> where
    T: Float
[src]

[src]

Checks if the geometry A intersects the geometry B. Read more

impl<T> Intersects<Bbox<T>> for Polygon<T> where
    T: Float
[src]

[src]

Checks if the geometry A intersects the geometry B. Read more

impl<T> Intersects<Polygon<T>> for Polygon<T> where
    T: Float
[src]

[src]

Checks if the geometry A intersects the geometry B. Read more

impl<T> Area<T> for Polygon<T> where
    T: Float
[src]

[src]

Area of polygon. See: https://en.wikipedia.org/wiki/Polygon Read more

impl<T> Distance<T, Polygon<T>> for Point<T> where
    T: Float
[src]

[src]

Minimum distance from a Point to a Polygon

impl<T> Distance<T, Point<T>> for Polygon<T> where
    T: Float
[src]

[src]

Minimum distance from a Polygon to a Point

impl<T> BoundingBox<T> for Polygon<T> where
    T: CoordinateType
[src]

[src]

Return the BoundingBox for a Polygon

impl<T> Simplify<T> for Polygon<T> where
    T: Float
[src]

[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]

[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]

[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]

[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: CoordinateType
[src]

[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]

[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]

[src]

Rotate the Polygon about its centroid by the given number of degrees

impl<T: CoordinateType, NT: CoordinateType> MapCoords<T, NT> for Polygon<T>
[src]

[src]

Apply a function to all the coordinates in a geometric object, returning a new object. Read more

impl<T: CoordinateType> MapCoordsInplace<T> for Polygon<T>
[src]

[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]

[src]

Find the closest point between self and p.

impl ToPostgis<Polygon> for Polygon<f64>
[src]

[src]

Converts this geometry to a PostGIS type, using the supplied SRID.

[src]

Converts this WGS84 geometry to a PostGIS type.

Auto Trait Implementations

impl<T> Send for Polygon<T> where
    T: Send

impl<T> Sync for Polygon<T> where
    T: Sync