Trait geo::algorithm::area::Area [−][src]
Signed and unsigned planar area of a geometry.
Examples
use geo::polygon; use geo::algorithm::area::Area; let mut polygon = polygon![ (x: 0., y: 0.), (x: 5., y: 0.), (x: 5., y: 6.), (x: 0., y: 6.), (x: 0., y: 0.), ]; assert_eq!(polygon.signed_area(), 30.); assert_eq!(polygon.unsigned_area(), 30.); polygon.exterior_mut(|line_string| { line_string.0.reverse(); }); assert_eq!(polygon.signed_area(), -30.); assert_eq!(polygon.unsigned_area(), 30.);
Required methods
fn signed_area(&self) -> T
[src]
fn unsigned_area(&self) -> T
[src]
Implementors
impl<T> Area<T> for Geometry<T> where
T: CoordFloat,
[src]
T: CoordFloat,
fn signed_area(&self) -> T
[src]
fn unsigned_area(&self) -> T
[src]
impl<T> Area<T> for GeometryCollection<T> where
T: CoordFloat,
[src]
T: CoordFloat,
fn signed_area(&self) -> T
[src]
fn unsigned_area(&self) -> T
[src]
impl<T> Area<T> for Line<T> where
T: CoordNum,
[src]
T: CoordNum,
fn signed_area(&self) -> T
[src]
fn unsigned_area(&self) -> T
[src]
impl<T> Area<T> for LineString<T> where
T: CoordNum,
[src]
T: CoordNum,
fn signed_area(&self) -> T
[src]
fn unsigned_area(&self) -> T
[src]
impl<T> Area<T> for MultiLineString<T> where
T: CoordNum,
[src]
T: CoordNum,
fn signed_area(&self) -> T
[src]
fn unsigned_area(&self) -> T
[src]
impl<T> Area<T> for MultiPoint<T> where
T: CoordNum,
[src]
T: CoordNum,
fn signed_area(&self) -> T
[src]
fn unsigned_area(&self) -> T
[src]
impl<T> Area<T> for MultiPolygon<T> where
T: CoordFloat,
[src]
T: CoordFloat,
Note. The implementation is a straight-forward
summation of the signed areas of the individual
polygons. In particular, unsigned_area
is not
necessarily the sum of the unsigned_area
of the
constituent polygons unless they are all oriented the
same.
fn signed_area(&self) -> T
[src]
fn unsigned_area(&self) -> T
[src]
impl<T> Area<T> for Point<T> where
T: CoordNum,
[src]
T: CoordNum,
fn signed_area(&self) -> T
[src]
fn unsigned_area(&self) -> T
[src]
impl<T> Area<T> for Polygon<T> where
T: CoordFloat,
[src]
T: CoordFloat,
Note. The implementation handles polygons whose holes do not all have the same orientation. The sign of the output is the same as that of the exterior shell.
fn signed_area(&self) -> T
[src]
fn unsigned_area(&self) -> T
[src]
impl<T> Area<T> for Rect<T> where
T: CoordNum,
[src]
T: CoordNum,
Because a Rect
has no winding order, the area will always be positive.
fn signed_area(&self) -> T
[src]
fn unsigned_area(&self) -> T
[src]
impl<T> Area<T> for Triangle<T> where
T: CoordFloat,
[src]
T: CoordFloat,