Function geo_buffer::buffer_polygon 
source · pub fn buffer_polygon(input_polygon: &Polygon, distance: f64) -> MultiPolygonExpand description
This function returns the buffered (multi-)polygon of the given polygon.
Arguments
- input_polygon:- Polygonto buffer.
- distance: determine how distant from each edge of original polygon to each edge of the result polygon. The sign will be:- +to inflate (to add paddings, make bigger) the given polygon, and,
- -to deflate (to add margins, make smaller) the given polygon.
 
Example
use geo_buffer::buffer_polygon;
use geo::{Polygon, MultiPolygon, LineString};
let p1 = Polygon::new(
    LineString::from(vec![(0., 0.), (1., 0.), (1., 1.), (0., 1.)]), vec![],
);
let p2: MultiPolygon = buffer_polygon(&p1, -0.2);
let expected_exterior = LineString::from(vec![(0.2, 0.2), (0.8, 0.2), (0.8, 0.8), (0.2, 0.8), (0.2, 0.2)]);
assert_eq!(&expected_exterior, p2.0[0].exterior())