Trait geo::algorithm::area::Area [−][src]
pub trait Area<T> where
T: CoordNum, {
fn signed_area(&self) -> T;
fn unsigned_area(&self) -> T;
}
Expand description
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
fn unsigned_area(&self) -> T
Implementors
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.
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.
Because a Rect
has no winding order, the area will always be positive.