Crate polyline

Source
Expand description

§Google Encoded Polyline encoding & decoding in Rust

Polyline is a lossy compression algorithm that allows you to store a series of coordinates as a single string.

§Example

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)

§A Note on Coordinate Order

This crate uses Coordinate and LineString types from the geo-types crate, which encodes coordinates in (x, y) order. The Polyline algorithm and first-party documentation assumes the opposite coordinate order. It is thus advisable to pay careful attention to the order of the coordinates you use for encoding and decoding.

Modules§

errors
Errors that can occur during encoding / decoding of Polylines

Functions§

decode_polyline
Decodes a Google Encoded Polyline.
encode_coordinates
Encodes a Google Encoded Polyline.