redis地理数据类型
存储坐标redis支持的五种数据类型
通过使用GEOADD命令,用户可以将给定的一个或多个经纬度坐标存储到位置集合中,并为这些坐标设置相应的名字。
语法格式:GEOADDkeylongitude1latitude1name1longitude2latitude2name2…,如
#添加广州市和清远市的坐标到cities
GEOADDcities113.227844223.1255978Guangzhou113.209964723.593675Qingyuan
GEOADD命令会返回新添加至位置集合的坐标数量作为返回值。如果给定的位置在集合中已经有了与之相关联的坐标,那么GEOADD命令将使用用户给定的新坐标去代替已有的旧坐标。
获取指定位置的坐标
在使用GEOADD命令将位置及其坐标存储到位置集合之后,可以使用GEOPOS命令去获取给定位置的坐标
语法格式:GEOPOSkeyname1name2…,如
#获取cities中Guangzhou的坐标
GEOPOScitiesGuangzhou
GEOPOS命令会返回一个数组作为执行结果,数组中的每项都包含经度和维度两个元素,且与用户给定的位置相对应。如果用户给定的位置并不存在于位置集合当中,那么GEOPOS命令将返回一个空值。
计算两个位置之间的直线距离
GEODIST命令可用于计算两个给定位置之间的直线距离,该命令的DIST是Distance的简写,意味距离
语法格式:GEODISTkeyname1name2[unit]
其中,unit用于指定自己想使用的距离单位,可以是以下单位中的一个:
·m——以米为单位,为默认单位。
·km——以千米为单位。
·mi——以英里为单位,1英里≈1.61千米。
·ft——以英尺为单位,1英尺≈0.30米。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论