polyline-codec

Crates.iopolyline-codec
lib.rspolyline-codec
version0.1.3
sourcesrc
created_at2022-04-10 22:55:17.054452
updated_at2022-04-11 01:13:14.868208
descriptionEncode and decode polylines.
homepage
repositoryhttps://github.com/chanced/rs-polyline-codec
max_upload_size
id565266
size22,435
Chance (chanced)

documentation

README

crates.io docs.rs Crates.io

Rust port of Google Maps Polyline Encoding

Description

Encode and decode polyines in Rust using this package.

Polyline encoding is a lossy compression algorithm that allows you to store a series of coordinates as a single string. Point coordinates are encoded using signed values.

Read more at https://developers.google.com/maps/documentation/utilities/polylinealgorithm.

Note

I have no affiliation with Google or Google Maps. This package was ported from https://github.com/googlemaps/js-polyline-codec.

Example

    use polyline_codec::LatLng;
    let encoded = "_p~iF~ps|U_ulLnnqC_mqNvxq`@";
    assert_eq!(
        polyline_codec::decode(encoded, 5).unwrap(),
        vec![
            LatLng(38.5, -120.2,),
            LatLng(40.7, -120.95,),
            LatLng(43.252, -126.453,),
        ]
    );

    let path = &[(38.5, -120.2), (40.7, -120.95), (43.252, -126.453)];
    assert_eq!(
        polyline_codec::encode(path, 5).unwrap(),
        "_p~iF~ps|U_ulLnnqC_mqNvxq`@",
    );

License

MIT OR Apache v2.0

Commit count: 18

cargo fmt