geo-buffer
The geo-buffer crate provides methods to buffer (to enlarge or reduce) certain
primitive geometric types in the GeoRust ecosystem via a straight skeleton.
This crate can handle simple polygons properly as well as non-convex polygons, (valid) sets of polygons, and polygons with one or more holes. Note that each method assumes valid primitives as a parameter, but Polygon/MultiPolygon modules do not enforce this validity automatically nor does this crate. (See more details on 'Validity' in Polygon/MultiPolygon and OGC standards.)
This crate uses a straight skeleton to buffer (multi-)polygons. You can also compute a straight skeleton separately by proper methods.
For now, the only viable geometric primitives are Polygon and MultiPolygon (the rest of the primitives will be added as well).
You can choose a style of convex corners with either options; mitter-joined or round-joined. (See more details on the document.)
Quick Guide
The buffer_polygon() function (resp. buffer_multi_polygon() function) produces a MultiPolygon after applying
an buffer operation to the given Polygon (resp. MultiPolygon). The absolute value of the argument passed with
determines the distance between each edge of the result multi-polygon and the original input. The sign determines the direction
where the result expands. Positive values mean it goes outward — that is, it inflates, — and negative values mean goes inward
— it deflates —.
Code snippets below is a brief guide to use this crate. Click 'Result' to expand the visualized result. (The red polygon designates the input, and the orange one designates the results.)
Example
use buffer_polygon;
use ;
let p1 = new;
let p2: MultiPolygon = buffer_polygon;
let expected_exterior = from;
assert_eq!
Usage
[]
= "0.1.0"
Dependencies
[]
= "0.7.9"
= "0.24.1"
Main Contributor
License
The geo-buffer crate is licensed under the Apache License (Version 2.0)
- Details : LICENSE-APACHE
Contact
- Teneleven Corp / support@1011.co.kr / https://1011.co.kr