Dies wurde in Redis Version 3.2 eingeführt. Es kann geografische Standortinformationen, die Entfernung zwischen zwei Orten, Personen im Umkreis usw. berechnen erreichen.
Fügen Sie den angegebenen Geostandort (Breitengrad, Längengrad, Name) zum angegebenen Schlüssel hinzu.
Hier können Sie einige Online-Tools zur Abfrage von Breiten- und Längengraden verwenden, um Daten abzurufen.
geoadd china:city 121.472644 31.231706 shanghai geoadd china:city 120.619585 31.299379 suzhou geoadd china:city 116.405285 39.904989 beijing geoadd china:city 113.280637 23.125178 guangzhou 113.26197 23.10379 haizhuqu
Fügen Sie zum Schlüssel china:city
den Längen- und Breitengrad von fünf Orten hinzu: Shanghai, Suzhou, Peking, Guangzhou und Haizhu District von Guangzhou. china:city
这个key里,添加了5个地方的经纬度:上海、苏州、北京、广州、广州海珠区。
从key里返回所有给定位置元素的位置(经度和纬度)。
geopos china:city suzhou shanghai
返回位置的坐标。
返回两个给定位置之间的距离。
如果两个位置之间的其中一个不存在, 那么命令返回空值。
指定单位的参数 unit 必须是以下单位的其中一个:
m 表示单位为米(默认)。
km 表示单位为千米。
mi 表示单位为英里。
ft 表示单位为英尺。
geodist china:city suzhou shanghai km
以给定的经纬度为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大距离的所有位置元素。
georadius china:city 121.49295 31.22337 30 km
我以 上海黄浦区的坐标121.49295 31.22337为中心,寻找30km之内的城市。
再远点,100km之内,还可以找到suzhou
,加上withdist
显示出距离。
加上withcoord
可以返回经纬度。
再加上count
,只返回我指定的数量。
georadius china:city 121.49295 31.22337 100 km withdist withcoord count 1
这个命令和 georadius命令一样, 都可以找出位于指定范围内的元素。
但是这里不是指定中心点坐标,而是指定以哪个元素为中心点。
georadiusbymember china:city suzhou 100 km withdist
这里以元素suzhou
2. geopos
geohash china:city suzhou shanghai
Gibt die Koordinaten des Standorts zurück.
3. geodistGibt die Entfernung zwischen zwei angegebenen Orten zurück. Wenn eine der beiden Positionen nicht existiert, gibt der Befehl einen Nullwert zurück. Die Parametereinheit der angegebenen Einheit muss eine der folgenden Einheiten sein:
zrem china:city haizhuqu
suzhou
sowie withdist
, um die Entfernung anzuzeigen. #🎜🎜##🎜🎜#Fügen Sie withcoord
hinzu, um den Breiten- und Längengrad zurückzugeben. #🎜🎜##🎜🎜# #🎜🎜##🎜🎜#count
hinzugefügt, nur der von mir angegebene Betrag wird zurückgegeben. #🎜🎜#rrreee#🎜🎜##🎜🎜##🎜🎜#5. georadiusbymember#🎜🎜##🎜🎜#Dieser Befehl ist derselbe wie der Georadius-Befehl und kann Elemente innerhalb des angegebenen Bereichs finden. #🎜🎜##🎜🎜#Aber hier geben wir nicht die Koordinaten des Mittelpunkts an, sondern geben an, welches Element der Mittelpunkt ist. #🎜🎜#rrreee#🎜🎜#Hier wird das Element suzhou
als Mittelpunkt verwendet, um am Freitag andere Elemente im Umkreis von 100 km zu finden. #🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜# 6. Geohash#🎜🎜##🎜🎜#Ein oder mehrere Positionselemente, dargestellt durch Hash. #🎜🎜#rrreee#🎜🎜##🎜🎜##🎜🎜##🎜🎜#Gibt eine 11-stellige Geohash-Zeichenfolge zurück, die den aktuellen Längen- und Breitengrad darstellt. Es handelt sich um eine geänderte Form, die den zweidimensionalen Längen- und Breitengrad umwandelt Breitengrad in eine eindimensionale Zeichenfolge. #🎜🎜##🎜🎜#Wenn die beiden Saiten in der obigen Struktur näher beieinander liegen, ist auch der Abstand zwischen den beiden Positionen geringer. Dies reicht zum Verständnis aus. #🎜🎜##🎜🎜#Das zugrunde liegende Prinzip von Geo ist immer noch zset. Wir können den Befehl zset verwenden, um Geo zu bedienen, beispielsweise um Städte aus Geo zu entfernen. #🎜🎜#rrreee#🎜🎜##🎜🎜##🎜🎜#Das obige ist der detaillierte Inhalt vonSo verwenden Sie den speziellen Redis-Datentyp Geospatial. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!