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

Latest commit

 

History

History
85 lines (60 loc) · 2.82 KB

README.md

File metadata and controls

85 lines (60 loc) · 2.82 KB

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.