Geospatial-地理空间

简介: Geospatial-地理空间

本文已收录于专栏


❤️《Redis之大厂必备技能包》❤️


欢迎各位关注、三连博主的文章及专栏,全套Redis学习资料,大厂必备技能!


目录


一、简介


二、命令


2.1 GEOADD


2.2 GEOPOS


2.3 GEODIST


2.4 GEORADIUS


2.5 GEORADIUSBYMEMBER


2.6 GEOHASH


三、中国省会城市的经纬度


一、简介

Geospatial是Redis在3.2版本以后增加的地理位置GEO模块,这个模块可以用来实现微信附近的人,在线点餐“附近的餐馆”等位置功能。


二、命令

2.1 GEOADD

命令简介:


GEOADD key longitude latitude member [longitude latitude member …]image.png将给定的空间元素(维度、经度、名字)添加到指定的键里面,数据以有序集合的形式被存放在键中。GEOADD接收的参数必须先输入经度,然后输入维度。

GEOADD经纬度的输入范围如下(对两极不支持):


有效经度介于-180°~180°之间

有效维度介于-85.05112878°至85.05112878°之间

当用户尝试输入一个超出范围的经度或者纬度时, GEOADD 命令将返回一个错误。


代码示例:

可以依次添加单个,也可以同时添加多个地理位置的元素。

image.pngimage.png2.3 GEODIST

命令简介:


GEODIST key member1 member2 [unit]


返回两个给定位置之间的距离,以双精度浮点数的形式被返回。如果给定的位置其中一个不存在(两个都不存在也是一样,下面有示例),将会返回空值(nil)。


unit单位描述:


m -> 米

km -> 千米

mi -> 英里

ft -> 英尺

默认单位:

如果用户未给定指定单位unit,则默认为米(m)


误差范围:

GEODIST 计算的算法会将地球考虑为一个完全球体,在极限情况下,存在最大0.5%的误差


代码示例:

image.png2.4 GEORADIUS

命令简介:


GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [ASC|DESC] [COUNT count]


以给定的经纬度为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大距离的所有位置元素。


m|km|ft|mi选项:


m -> 米

km -> 千米

mi -> 英里

ft -> 英尺

[WITHCOORD] [WITHDIST] [WITHHASH]选项:


[WITHCOORD]:将位置元素的经度和纬度也一并返回。

[WITHDIST] :在返回位置元素的同时, 将位置元素与中心之间的距离也一并返回。 距离的单位和用户给定的范围单位保持一致。

[WITHHASH]: 以 52 位有符号整数的形式, 返回位置元素经过原始 geohash 编码的有序集合分值。 这个选项主要用于底层应用或者调试, 实际中的作用并不大。

[ASC|DESC] 选项:


ASC:根据给定的中心位置,从近到远返回位置元素

DESC:根据给定的中心位置,从远到近返回位置元素

[COUNT count] 参数:

GEORADIUS 默认会返回符合条件的全部位置元素。但是用户可以通过[COUNT count] 参数去指定获取前N个匹配元素。这个参数可以减少需要返回的元素数量,一定程度上可以减少带宽压力。


返回值:

GEORADIUS 的返回值是一个数组,但是数组的内容会根据是否存在上述参数而改变


未给定任何WITH参数,则返回普通线性列表

给定[WITHCOORD] [WITHDIST] [WITHHASH]等参数后返回一个二层嵌套数组

具体返回值请查看后续示例,建议还是自己多搞几次就清楚了


代码示例:

未给定任何WITH参数image.png2.5 GEORADIUSBYMEMBER

命令简介:


GEORADIUSBYMEMBER key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [ASC|DESC] [COUNT count]


GEORADIUSBYMEMBER与GEORADIUS的区别在于,GEORADIUSBYMEMBER无需给定经纬度,只需要给定成员的key就行,具体使用与GEORADIUS一致


代码示例:

image.png

2.6 GEOHASH

命令名称:

GEOHASH key member [member …]

返回一个或多个位置元素的GeoHash表示,可以给顶多个key中的member,因此返回的是一个数组。

代码示例:image.png

三、中国省会城市的经纬度

为了便于各位大佬们学习Geospatial的学习,我整理了全国省会城市的经纬度在这,有需要的可以自取。image.pngimage.png

目录
相关文章
|
人工智能 搜索推荐
写歌词的技巧和方法:塑造完美歌词结构的艺术,妙笔生词AI智能写歌词软件
歌词是音乐的灵魂,其结构艺术至关重要。开头需引人入胜,主体部分无论是叙事还是抒情,都应层次分明、情感丰富,结尾则需升华或留白,给人以深刻印象。《妙笔生词智能写歌词软件》提供多种AI辅助功能,助你轻松创作完美歌词,成为音乐创作的得力助手。
|
机器学习/深度学习 人工智能 自然语言处理
什么是深度学习
【10月更文挑战第23天】什么是深度学习
|
机器学习/深度学习 自然语言处理 搜索推荐
深度学习中的多头注意力机制及其应用探索
深度学习中的多头注意力机制及其应用探索
883 2
|
缓存 监控 数据库
提高服务器响应速度是提升用户体验和系统性能的关键
提高服务器响应速度是提升用户体验和系统性能的关键
341 3
|
监控 Shell
在Shell脚本中实现进程监控
在Shell脚本中实现进程监控
697 5
|
缓存 负载均衡 算法
"揭秘!阿里云视觉智能开放平台人脸1vn搜索慢?轻松几招,QPS飙升,让你的应用快如闪电,用户体验秒变VIP级享受!"
【8月更文挑战第14天】在数字浪潮中,人脸识别技术广泛应用于安全监控到个性化服务等领域。阿里云视觉智能开放平台凭借其强大算法和服务模式成为行业翘楚。面对人脸1:Vn搜索响应慢的问题,不仅可通过增加QPS优化,还需从参数调整、缓存机制、并行处理及算法硬件升级等方面综合施策,以实现搜索速度与准确性的双重提升。
1292 2
|
前端开发 容器
用CSS将文字超出部分变为省略号的方法
用CSS将文字超出部分变为省略号的方法
455 0
|
消息中间件 中间件 测试技术
【中间件1】在Windows下搭建RocketMQ
目录 目录 一 准备工作 1 RocketMQ部署架构1 2 环境配置 二 安装RocketMQ 1 下载编译好的RocketMQ 2 解压缩并进入bin目录 3 启动name server 4 启动broker 5 MQ安装完毕 三 验证MQ是否安...
2720 91
|
编解码 算法 IDE
基于单片机的俄罗斯方块游戏机设计
本设计是通过STC89S52单片机来实现俄罗斯方块游戏的设计,使用C语言进行编程,并通过Proteus来进行仿真。本设计要实现的基本功能是:应用按键来控制方块的变换与移动;消除一行并计分;消除多行额外奖励记分,方块堆满时结束游戏等俄罗斯方块的基本功能。
基于单片机的俄罗斯方块游戏机设计

热门文章

最新文章