4 个版本
0.2.2 | 2022年8月4日 |
---|---|
0.2.1 | 2021年4月19日 |
0.2.0 | 2021年1月13日 |
0.1.0 | 2020年6月21日 |
#8 in #postgis
208 每月下载量
用于 catenary-backend
205KB
4K SLoC
geo
地理空间原语、算法和工具
geo
crate 提供了地理空间原语类型,如 Point
、LineString
和 Polygon
,并提供以下算法和操作:
- 面积和质心计算
- 简化和多边形包络操作
- 欧几里得和哈弗辛距离测量
- 交集检查
- 仿射变换,如旋转和平移。
请参阅文档以获取完整列表。
这些原语类型还为 Geo
生态系统中的其他功能提供基础,包括:
示例
// primitives
use geo::{line_string, polygon};
// algorithms
use geo::ConvexHull;
// An L shape
let poly = polygon![
(x: 0.0, y: 0.0),
(x: 4.0, y: 0.0),
(x: 4.0, y: 1.0),
(x: 1.0, y: 1.0),
(x: 1.0, y: 4.0),
(x: 0.0, y: 4.0),
(x: 0.0, y: 0.0),
];
// Calculate the polygon's convex hull
let hull = poly.convex_hull();
assert_eq!(
hull.exterior(),
&line_string![
(x: 4.0, y: 0.0),
(x: 4.0, y: 1.0),
(x: 1.0, y: 4.0),
(x: 0.0, y: 4.0),
(x: 0.0, y: 0.0),
(x: 4.0, y: 0.0),
]
);
贡献
欢迎贡献!请查看 问题,如果您想添加算法或某些功能,请发起 pull request。
许可
根据您的要求,许可协议为:
- Apache 许可协议第 2 版 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可协议 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确声明,否则您根据 Apache-2.0 许可证定义的任何有意提交以包含在作品中的贡献,均将按上述方式双许可,不附加任何额外条款或条件。
依赖项
~4MB
~100K SLoC