Geospatial(地理空间)

简介

Redis3.2 中增加了对GEO类型的支持,GEO,Geographic,地理信息的缩写。该类型,就是元素的2维坐标,在地图上就是经纬度,Redis基于该类型提供了经纬度设置,查询,范围查询,距离查询,经纬度Hash等常见操作

Geospatial命令

# 增加地理位置
127.0.0.1:6379> geoadd china:key 121.47 31.23 shanghai
(integer) 1
127.0.0.1:6379> geoadd china:key 106.50 29.53 chongqing 114.05 11.52 shenzhen 116.38 39.90 beijing
(integer) 3
注意:1. 两级无法直接添加,一般会下载城市数据,直接通过java程序一次性导入
2. 有效的经度从 -180 到 180 。有效的纬度从 -85.05到 85.05
3. 当坐标位置超过指定范围时,该命令将会返回一个错误命令。已添加的数据,是无法再次往里面添加的
# 获取指定地区的坐标
127.0.0.1:6379> geopos china:key shanghai
1) 1) "121.47000163793563843"
2) "31.22999903975783553"
127.0.0.1:6379> geopos china:key chongqing
1) 1) "106.49999767541885376"
2) "29.52999957900659211"
# 获取两个位置之间的直线距离 (可以自己标志单位)
127.0.0.1:6379> geodist china:key shanghai chongqing #默认是m
"1447673.6920"
127.0.0.1:6379> geodist china:key shanghai chongqing km
"1447.6737"
127.0.0.1:6379> geodist china:key shanghai chongqing m
"1447673.6920"
127.0.0.1:6379> geodist china:key shenzhen shanghai
"2321214.5269"
127.0.0.1:6379> geodist china:key shenzhen shanghai km
"2321.2145"
# 以给定的经纬度为中心,找出某一半径内的元素 (寻找附近的人)
127.0.0.1:6379> georadius china:key 100 30 1000 km
1) "chongqing"
posted @   小罗要有出息  阅读(186)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示