【发布时间】:2021-06-08 14:28:46
【问题描述】:
一些 Google 地图产品具有折线的概念,就基础数据而言,折线基本上只是一系列 lat/lng 点,例如可能在地图上绘制的一条线中体现出来。 Google 地图开发人员库使用编码的折线格式,该格式生成一个 ASCII 字符串,表示组成折线的点。然后通常使用 Google 库的内置函数或由第三方编写的实现解码算法的函数对这种编码格式进行解码。
折线点的编码算法在Encoded Polyline Algorithm Format 文档中描述。 没有描述的是以这种方式实现算法的基本原理,以及每个单独步骤的重要性。我很想知道以这种方式实现算法的想法/目的是否在任何地方公开描述。两个示例问题:
- 某些步骤是否会对压缩产生可量化的影响?这种影响如何随着点之间的增量而变化?
- 使用 ASCII 63 对值求和是否是某种兼容性破解?
但一般来说,算法的描述会解释为什么该算法是按照它的方式实现的。
【问题讨论】:
-
Mark McClure 曾经进行过很好的讨论。该服务器现在似乎已关闭snapshot on the wayback machine
-
也会感兴趣。我发现这些代码 cmets 很有用:stackoverflow.com/a/13890455/194609
标签: algorithm google-maps google-polyline