附近的人,实现思路
来源:互联网 发布:python instance 编辑:程序博客网 时间:2024/04/28 06:40
附近的人,实现思路
1 空间数据库
mongodb mysql oracle postgresql(空间数据库,网上推荐这个)
2 redis新版本也支持geohash
一般都采用Geohash算法,用一个字符串表示二维坐标,并且两个点越接近,这两个Geohash的字符串前缀相同的位数就越多(这句话可能不太严谨),这样查询的效率就会高很多。
https://www.zhihu.com/question/36299685
https://ruby-china.org/topics/22059
http://www.cnblogs.com/iforever/p/4061095.html
http://www.infoq.com/cn/articles/depth-study-of-Symfony2
http://www.cnblogs.com/woshimrf/p/5000123.html
=====
基于以上资料,决定使用redis的lbs功能:
http://blog.huangz.me/diary/2015/redis-geo.html
redis 3.2版本以上
1 给集合Guangdong-cities 增加一个城市,指定它的坐标
127.0.0.1:6379> GEOADD Guangdong-cities 113.2099647 23.593675 Qingyuan
(integer) 1
2 :同时指定多个
127.0.0.1:6379> GEOADD Guangdong-cities 113.2278442 23.1255978 Guangzhou 113.106308 23.0088312 Foshan 113.7943267 22.9761989 Dongguan 114.0538788 22.5551603 Shenzhen
(integer) 4
3:获得指定城市的经纬度坐标。
127.0.0.1:6379> GEOPOS Guangdong-cities Qingyuan Guangzhou Foshan
1) 1) “113.20996731519699097”
2) “23.59367501967128788”
2) 1) “113.22784155607223511”
2) “23.1255982020608073”
3) 1) “113.10631066560745239”
2) “23.00883120241353907”
4:获得指定城市之间的距离
127.0.0.1:6379> GEODIST Guangdong-cities Qingyuan Guangzhou
“52094.4338”
5:获得集合中,指定城市,指定距离内,有多少城市。(附近的城市)
127.0.0.1:6379> GEORADIUSBYMEMBER Guangdong-cities Guangzhou 150 km
1) “Foshan”
2) “Guangzhou”
3) “Dongguan”
4) “Qingyuan”
5) “Shenzhen”
- 附近的人,实现思路
- MYSQL附近的人设计思路
- “附近的人”功能实现
- android附近的人的实现
- 计算附近的人的常用实现
- 查找附近的人-mongodb的实现
- 如何实现查找附近的人
- 后台实现查找附近的人接口
- PHP实现搜索附近的人代码
- Geo redis实现附近的车辆/人
- PHP实现搜索附近的人
- LBS 附近的人
- 附近的人功能
- php附近的人
- java 附近的人
- PHP查询附近的人及其距离的实现方法
- Android查找附近的人(云服务)实现方式
- Android实现微信查看附近的人
- Linux静态链接和动态链接浅析
- Volley加载网络图片
- 如何让正则表达式最小匹配
- grep -v
- JS-DOM事件
- 附近的人,实现思路
- 从IP地址的扩展
- 8139网卡刷MAC
- mysql 5.7 linux环境下安装部署
- 《数字逻辑》复习整理
- Notepad++ 添加lua Functionlist
- Java HashMap工作原理及实现
- js dom 操作实例图解
- 进入setting的组件应用程序信息