Skip to content
This repository has been archived by the owner on Jun 6, 2023. It is now read-only.

Flexible Polyline encoding: a lossy compressed representation of a list of coordinate pairs or triples

License

Notifications You must be signed in to change notification settings

decitre/python-flexpolyline-pbapi

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

workflow

This project is deprecated. Please check here-polyline-converter

FlexPolyline and HERE Polyline

This is Python extension of the Flexible Polyline codec library to support the HERE polyline format used by HERE Places (Search) API for the compressedRoute requests parameter.

Note that the HERE Places (Search) API is in maintenance. This Python package can be used to test applications being migrated to the newer HERE Geocoding & Search API.

Install

$ pip install python-flexpolyline-pbapi

Usage

>>> reencode_pbapi_to_flex(here_polyline_string)

Transforms a HERE polyline string into a flexible polyline string. The HERE Polyline segments width changes are ignored: The resulting corridor will be of constant width, expressed in HERE geocoding & Search API as a specific request parameter width.

>>> encode_pbapi(iterable)

Encodes a list (or iterator) of coordinates to the corresponding HERE polyline string representation. Coordinate order is (lat, lng[, width]).

>>> decode_pbapi(here_polyline_string)

Decodes a HERE polyline string into an array of coordinates (lat, lng[, width]).

>>> encode_pbapi(iterable)

Note that width is expected to be one of DW, HW, CW.

Examples
>>> import flexpolyline_pbapi as fp
>>> here_polyline = "oz5xJ67i1B1B7PzIhaxL7Y"
>>> flexible_polyline = fp.reencode_pbapi_to_flex(here_polyline)
>>> flexible_polyline
'BFoz5xJ67i1B1B7PzIhaxL7Y'

>>> points = [ (50.1022829, 8.6982122), (50.1020076, 8.6956695), (50.1006313, 8.6914960), (50.0987800, 8.6875156) ]
>>> fp.encode_pbapi(points)
'oz5xJ67i1B1B7PzIhaxL7Y'

>>> here_polyline = "oz5xJ67i1B.C1B7PzIha.DxL7Y"
>>> fp.decode_pbapi(here_polyline)
[(50.10228, 8.69821, 'CW'), (50.10201, 8.69567), (50.10063, 8.6915, 'DW'), (50.09878, 8.68752)]

License

Copyright (C) 2019 HERE Europe B.V.

See the LICENSE file in the root of this project for license details.

About

Flexible Polyline encoding: a lossy compressed representation of a list of coordinate pairs or triples

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%