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

目录
相关文章
|
5月前
|
数据可视化 数据挖掘
空间单细胞|在Seurat中对空间数据进行分析(4)
空间单细胞|在Seurat中对空间数据进行分析(4)
70 1
|
7月前
|
编解码 数据可视化 定位技术
Google Earth Engine谷歌地球引擎GEE地理坐标系与投影坐标系变换与重投影
Google Earth Engine谷歌地球引擎GEE地理坐标系与投影坐标系变换与重投影
188 1
155Echarts - 平行坐标系(Parallel Aqi)
155Echarts - 平行坐标系(Parallel Aqi)
96 0
157Echarts - 平行坐标系(Basic Parallel)
157Echarts - 平行坐标系(Basic Parallel)
40 0
156Echarts - 平行坐标系(Parallel Nutrients)
156Echarts - 平行坐标系(Parallel Nutrients)
44 0
|
编解码 定位技术 数据中心
DEM数据下载——以地理空间数据云为例
数字高程模型(Digital Elevation Model)是进行地形分析的重要基础,诸如坡度、坡向及水文分析等都在此基础上进行。今天,我们一起来聊一聊一种DEM数据常见下载方式。
1191 0
|
NoSQL Java 定位技术
Redis的三种特殊数据类型Geospatial(地理位置)
Redis的三种特殊数据类型Geospatial(地理位置)
|
NoSQL 定位技术 Redis
【Redis】特殊数据类型 - Geospatial (地理空间)
【Redis】特殊数据类型 - Geospatial (地理空间)
【Redis】特殊数据类型 - Geospatial (地理空间)
|
流计算
《Geospatial Situation Detection》电子版地址
Geospatial Situation Detection through FlinkCEP@Uber-使用Flink CEP进行地理情形检测的实践
52 0
《Geospatial Situation Detection》电子版地址
|
NoSQL 算法 定位技术
Geospatial
Geospatial是Redis在3.2版本以后增加的地理位置GEO模块,这个模块可以用来实现微信附近的人,在线点餐“附近的餐馆”等位置功能。
555 1
Geospatial