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

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