Skip to content

Instantly share code, notes, and snippets.

@azlekov
Last active January 3, 2020 17:59
Show Gist options
  • Save azlekov/50ecd2f08d2fbc83a3ad361fdb93b6dc to your computer and use it in GitHub Desktop.
Save azlekov/50ecd2f08d2fbc83a3ad361fdb93b6dc to your computer and use it in GitHub Desktop.
Convert KML coordinates of Placemark to polyline encoded format
#!/usr/bin/python
# pip install polyline
import polyline
def rreplace(s, old, new, count):
return (s[::-1].replace(old[::-1], new[::-1], count))[::-1]
coordinates = """
24.738547,42.157153
24.739296,42.157267
24.739258,42.157899
24.739416,42.157919
24.739312,42.158654
24.738180,42.158447
"""
coordinates = coordinates.replace("\n", ",0")
coordinates = coordinates.replace(",0", ",")
coordinates = rreplace(coordinates, ",", "", 1)
coordinates = filter(None, coordinates.strip().split(','))
print(coordinates)
array = [float(f) for f in coordinates]
points = zip(array[::2], array[1::2])
reversed = [tuple(reversed(x)) for x in points]
print(polyline.encode(list(reversed), 5))
print("\nHEX\n")
print(polyline.encode(list(reversed), 5).encode("utf-8").hex())
@azlekov
Copy link
Author

azlekov commented Oct 31, 2018

Plovdiv Green:

oog`Gsp`vCKaDfBmH`B@jB~A~A|CClC{@qA

HEX

6f6f67604773706076434b614466426d486042406a427e417e417c43436c437b407141

@azlekov
Copy link
Author

azlekov commented Oct 31, 2018

Varna Blue:

wztfGihhiDhAcMzLq`@`AoQrAaSzAwAh@a^gKcJuLbBwJ{FkOcTaSj\jNpT|Mph@jB|\hCz]

HEX

777a74664769686869446841634d7a4c71604060416f51724161537a4177416840615e674b634a754c6242774a7b466b4f635461536a5c6a4e70547c4d7068406a427c5c68437a5d

@azlekov
Copy link
Author

azlekov commented Oct 31, 2018

Burgas Blue:

{nlbG{hsfDeCuB}@oImIvB_@uCf@Om@_Fzl@iPzB`RwYhH

HEX

7b6e6c62477b68736644654375427d406f496d4976425f40754366404f6d405f467a6c4069507a42605277596848

ocjbGyprfDpEcR|@mNqEe^WoXeDkRaKyI{ZdDiK~@Q~IkRlShDdY`FwAfL_L~DlF`C}@rL}ONfKpLhA?cHxDkC`@fJuA`@VbBoCdA`@dFiBl@]eEcL~DUeBqG`EdErZjOuD`BpO

HEX

6f636a62477970726644704563527c406d4e7145655e576f5865446b52614b79497b5a6444694b7e40517e496b526c536844645960467741664c5f4c7e446c4660437d40724c7d4f4e664b704c68413f634878446b436040664a754160405662426f4364416040644669426c405d6545634c7e44556542714760456445725a6a4f75446042704f

@azlekov
Copy link
Author

azlekov commented Oct 31, 2018

Burgas Green:

avmbGa~vfD?{@r@T@l@zXdQPVpJJj]pCK\aLcAVhLcHz@_@gAKoB_FaDEyEuJOqYiR

HEX

61766d6247617e7666443f7b40724054406c407a5864515056704a4a6a5d70434b5c614c634156684c63487a405f4067414b6f425f466144457945754a4f71596952

@azlekov
Copy link
Author

azlekov commented Oct 31, 2018

Blue Ruse:

_mrjGuak}CON{@_BqB|BIWhBuBmEgCkA|FWOlAaGQoWy@qOb@Gl@vON|VdF|C

HEX

5f6d726a4775616b7d434f4e7b405f4271427c424957684275426d4567436b417c46574f6c416147516f577940714f6240476c40764f4e7c5664467c43
azrjGc`k}CsAwJkCpA{ByJ_Ar@I_@nAaA|BrJ`CgAb@kBAaElCw@AX}Bp@BjFc@`ArAzJ

HEX

617a726a4763606b7d437341774a6b4370417b42794a5f417240495f406e4161417c42724a6043674162406b424161456c43774041587d427040426a466340604172417a4a
qorjG{rk}CqAwERGlAtE

HEX

716f726a477b726b7d437141774552476c417445
itrjGibl}CjE]C]iEb@

HEX

6974726a4769626c7d436a455d435d69456240
syrjG_|l}CTCs@eJU?

HEX

7379726a475f7c6c7d4354437340654a553f
oisjGs|k}CMa@_BhAHb@

HEX

6f69736a47737c6b7d434d61405f426841486240
olsjG}tl}COFtAjMRG

HEX

6f6c736a477d746c7d434f4674416a4d5247
{nsjGa}l}Cc@iBmHhGqCpDl@dApBoC

HEX

7b6e736a47617d6c7d43634069426d486847714370446c40644170426f43

@azlekov
Copy link
Author

azlekov commented Oct 31, 2018

Stara Zagora Green:

kc}aG{bj{C|NgD}Ecg@rMmCE]{EdAuFfAk@{GfMkCo@iIfNwCO[{MvCa@kD_FjAxAlNeOxCiBqRzG{AzCtGr@mJaNnCq@gHnGoAVfDbMwCC]iLzB[{BpLeCqCaY}ExAhClWsJvBs@{GQHNfAoBd@o@{IrBm@OoAyBl@IZkMhTxH?X~CgFbAf@rE|HgBhAfMkB`@kCxEiXxFD^|e@yJbB|QEmDbEyDvE|e@kU`F

HEX

6b637d61477b626a7b437c4e67447d45636740724d6d43455d7b456441754666416b407b47664d6b436f406949664e77434f5b7b4d764361406b445f466a4178416c4e654f7843694271527a477b417a43744772406d4a614e6e43714067486e476f41566644624d7743435d694c7a425b7b42704c6543714361597d45784168436c57734a764273407b4751484e66416f4264406f407b4972426d404f6f4179426c40495a6b4d685478483f587e4367466241664072457c4867426841664d6b4260406b43784569587846445e7c6540794a62427c51456d446245794476457c65406b556046

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment