关于空间搜索:GeoHash S2

空间搜索有很多用途,例如:

  1. 微信,陌陌,查找附近的人;
  2. 大众点评,查找附近的餐厅;
  3. 滴滴,摩拜,查找附近的车;
  4. 各种地图应用

空间搜索的重点就是,把高维空间变换为一维空间,然后,在一维空间上搜索。

目前常用的两种方法是GeoHash和S2,这两种方法分别使用了不同的数学变换方法,GeoHash使用的是Peano空间填充曲线,而S2使用的是希尔伯特曲线(Hilbert curve)。

这里有一篇雄文,写的非常好:

https://halfrost.com/go_spatial_search/