Redis地理位置、基数统计、位图场景使用详解

网友投稿 790 2022-05-30

查询两地之间的距离

在地图中我们经常会查询两个地方之间的距离,或者在微信中实时共享两个人的位置坐标,这个时候都是需要查询两个地方的距离来实现的,在Redis中查询两个地方距离的命令是:

GEODIST key member1 member2 [unit]

key为要查询的两个地理位置的索引,注意两个地理位置需要使用同一个索引,

member1为第一个位置名称

member2为第二个位置名称

[unit]为显示的单位,可以是m(米,默认)、km(千米)、ft(英尺)、mi(英里)

如我们查询郑州到杭州的直线距离,以米为单位,

以坐标为中心来范围搜索地理位置

我们平常都会使用到附近的人功能,或者以自己为中心搜索附近,Redis中可以使用命令GEORADIUS来指定附近多少米以内的地理位置的查询。

key为要查询的地理位置的索引

longitude为该地理位置的经度

latitude为该地理位置的纬度

radius表示要查询的半径

m|km|ft|mi表示单位

[WITHCOORD]可选,表示是否输出经纬度

[WITHDIST]可选,表示是否输出距离

[WITHHASH]可选,表示是否输出哈希值

[COUNT count]可选,表示输出几个数据

[ASC|DESC]可选,表示按照距离升序还是降序排列,ASC升序,DESC降序

今天学习的主要内容是:

Redis地理位置、基数统计、位图场景使用详解

主要内容是【Gaospatial】回顾了地理知识,感觉好温馨。

经纬度坐标是在开发中用的很多的东西。,很有用。

在学习的过程中遇到的问题是:

就拿我添加的几个数据来说吧,第一次创建的时候就会有一个时间提示,后面我实验好好几次都没有,就个事情就很苦恼。

这事一直没解决啊。

今天的收获是:

我挨个查询的小数点,很多地图坐标给的点位小数点都有一些区别,我在老数据库里面查的,一般9位,【http://www.jsons.cn/lngcode/】这个网站里查的5~6位,还有一些搜索到的10多位的都有。精细度都有写区别,定点位置不同。

最最最精准我我看:

这个就是最长的了,能很精准的定位到某个具体位置上。

Redis

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:uis-rnn语音分离配置流程
下一篇:关于 navigator.mediaDevices.getUserMedia 的输入参数说明
相关文章