, $data['lat']
)
)
]
)->toArray();
还有另一种方式, 设置 geometry 地理空间类型字段...通过zset的score进行排序就可以得到坐标附近的其它元素,通过将score还原成坐标值就可以得到元素的原始坐标
二维平面坐标点
一维整数编码值
zset(score为编码值)
zrangebyscore...(注意:zset集合大小,进行合适地切分)
ElasticSearch
这个效率比较高,也是应用比较多,我们也介绍一下
es也有地理位置相关的数据类型, 例如: geo_point geo_shapes..., 可能和热度, 好评也相关, 所以打分也是一个很重要的功能, 如果大家的排序多样化 可以选择 es
geo_shapes
geo_point和geo_shape的最大区别是: geo_point表示一个点...他的主要作用就是: 判断查询的形状与索引的形状的关系
查询的形状与索引的形状有重叠 或者不重叠
索引的形状完全被包含在查询的形状中, 假如我们的想要查询落在一个凹多边形内的点, 使用geo_point类型的就满足不了我们的需求了