一些谷歌地图产品具有折线的概念,就基础数据而言,它基本上只是一系列纬度/经度点,例如可能在地图上绘制的线中体现。Google 地图开发人员库使用编码的折线格式,该格式生成一个 ASCII 字符串,表示组成折线的点。然后,通常使用 Google 库的内置函数或由第三方编写的实现解码算法的函数对这种编码格式进行解码。
编码折线点的算法在编码折线算法格式文档中描述。没有描述的是以这种方式实现算法的基本原理,以及每个单独步骤的重要性。我很想知道以这种方式实现算法的想法/目的是否在任何地方公开描述。两个示例问题:
- 某些步骤是否对压缩有可量化的影响?这种影响如何随着点之间的增量而变化?
- 使用 ASCII 63 对值求和是某种兼容性黑客吗?
但一般来说,与算法一起的描述解释了为什么算法以这种方式实现。