geo常见需求

常见的地理位置相关需求有:

1、查找附近的人

2、显示两点距离

3、点是否在指定范围内(地理围栏)

redis、MongoDB、mysql都已支持geo

几种geo方案对比

https://blog.csdn.net/varyall/article/details/80308426

需求1、2用对应的geo即可

需求3判断点是否在指定范围内实现方案(地理围栏)

一般为3中情况:1是否在指定园内,2是否在矩形内,3是否在多边形内

https://blog.csdn.net/u012898245/article/details/79450433

https://blog.csdn.net/Deepak192/article/details/79402694

对于实时性要求不是很高和数据量不是很大的应用,利用第三方api就可以了

比如百度:https://lbs.amap.com/api/webservice/guide/api/geofence_service

redis geohash原理

https://www.jianshu.com/p/c9801c4f9f6a

redis、mongodb几点对比:

1、redis单key、单value存储最大512m,LBS应用经常会产生大量经纬度数据,很可能超过该值,需要额外做一些处理来拆分存储。mongodb无此问题

2、redis主要是作为缓存,对数据的处理能力比不上mongodb

所以geo选择mongdb>redis>mysql

附redis、mongdb、mysql对比

https://www.cnblogs.com/klb561/p/9085772.html

地理围栏R树索引实现方式探索中

https://blog.csdn.net/ijavaweb/article/details/51444254

原文地址:https://www.cnblogs.com/zh-ch/p/10557609.html