1
akfish 2014-07-06 17:20:06 +08:00 4
当然不可能遍历,地理位置网格分块,存块ID,然后四叉搜索。
你的经纬度换算成网格ID,同网格的人撸出来,临近网格的人撸出来,搞定。 |
2
lsylsy2 2014-07-06 17:20:27 +08:00 1
灯塔算法
|
3
fangzhzh 2014-07-06 17:29:36 +08:00 via Android
范围扩大一倍 人数指数级增长
|
5
TangMonk OP 貌似有个 geohash,研究下
|
7
udonmai 2014-07-06 18:37:11 +08:00
KD Tree
R Tree |
8
TangMonk OP 貌似这个叫做Spatial Search,python,java(solr)都有实现
http://django-haystack.readthedocs.org/en/latest/spatial.html https://wiki.apache.org/solr/SpatialSearch 继续研究下。。 |
9
TangMonk OP |
10
won 2014-07-06 21:17:25 +08:00 via iPhone
购买geo
|
11
wanjun 2014-07-06 21:18:01 +08:00
就看你的用户量了,如果最多只有几亿的话,mysql就可以了,存储x,y坐标,加索引,
然后mongodb自身实现了计算距离,排序。 geohash并不好用,https://github.com/kungfoo/geohash-java |
12
leiz 2014-07-06 21:50:56 +08:00
postgis
|