15 个版本 (破坏性更新)
0.11.0 | 2024 年 5 月 13 日 |
---|---|
0.10.1 | 2023 年 5 月 10 日 |
0.10.0 | 2023 年 3 月 12 日 |
0.9.0 | 2021 年 2 月 5 日 |
0.4.0 | 2016 年 7 月 17 日 |
#8 in 地理空间
4,486 每月下载量
用于 11 个crate (9 直接)
32KB
325 行
polyline
Rust 中快速 Google Encoded Polyline 编码和解码。
示例
use polyline;
use geo_types::line_string;
let coord = line_string![(x: -120.2, y: 38.5), (x: -120.95, y: 40.7), (x: -126.453, y: 43.252)];
let output = "_p~iF~ps|U_ulLnnqC_mqNvxq`@";
let result = polyline::encode_coordinates(coord, 5).unwrap();
assert_eq!(result, output)
关于坐标顺序的注意事项
此crate使用来自 geo-types
crate的 Coord
和 LineString
类型,这些类型按 (x, y)
/ (lon, lat)
顺序编码坐标。Polyline算法及其第一方文档假设相反的坐标顺序。因此,在编码和解码时,应仔细注意所使用的坐标顺序。
FFI
此crate的C兼容FFI绑定由 polyline-ffi crate提供。
依赖关系
~750KB
~15K SLoC