2 个版本
0.1.1 | 2020 年 4 月 15 日 |
---|---|
0.1.0 | 2020 年 4 月 15 日 |
#722 在 图形 API
用于 geo-svg-io
11KB
226 行
rust-geo-normalized
创建一个遵循 OGC 风格规则的新 rust geo/geo-types 多边形/多重多边形实例。
rust geo 和 geo-types 包不如 OGC 指引严格,允许任意顺序的内部和外部环的多边形。此特质返回一个多边形/多重多边形,其中所有外部环均为顺时针,所有内部环均为逆时针。
示例
// Anti-clockwise winding order for outer ring
let bad = polygon![
(x: 1.0, y: 1.0),
(x: 4.0, y: 1.0),
(x: 4.0, y: 4.0),
(x: 1.0, y: 4.0),
(x: 1.0, y: 1.0),
];
// Clockwise winding order for outer ring
let good = polygon![
(x: 1.0, y: 1.0),
(x: 1.0, y: 4.0),
(x: 4.0, y: 4.0),
(x: 4.0, y: 1.0),
(x: 1.0, y: 1.0),
];
let norm = bad.normalized();
// norm should have the same points and shape as `bad` but in the valid winding order
assert_eq!(norm, good);
依赖
~2MB
~38K SLoC