Ini telah dilancarkan dalam redis versi 3.2 Ia boleh digunakan untuk mengira maklumat lokasi geografi, jarak antara dua tempat, orang di sekelilingnya, dsb.
Menambah lokasi geospatial yang ditentukan (latitud, longitud, nama) pada kunci yang ditentukan.
Di sini anda boleh menggunakan beberapa alatan pertanyaan latitud dan longitud dalam talian untuk mendapatkan data.
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
Tambah longitud dan latitud 5 tempat pada kekunci china:city
: Shanghai, Suzhou, Beijing, Guangzhou dan Daerah Haizhu di Guangzhou.
Mengembalikan kedudukan (longitud dan latitud) semua elemen kedudukan yang diberikan daripada kunci.
geopos china:city suzhou shanghai
Mengembalikan koordinat lokasi.
Mengembalikan jarak antara dua lokasi yang diberikan.
Jika salah satu daripada dua kedudukan tidak wujud, arahan itu mengembalikan nilai nol.
Unit parameter yang menyatakan unit mestilah salah satu daripada unit berikut:
m bermaksud unit ialah meter (lalai).
km bermaksud unit ialah kilometer.
mi bermaksud batu.
kaki bermaksud kaki.
geodist china:city suzhou shanghai km
Mengambil longitud dan latitud sebagai pusat, antara elemen kedudukan yang terkandung dalam kunci pulangan. , pusat Semua elemen kedudukan yang jaraknya tidak melebihi jarak maksimum yang diberikan.
georadius china:city 121.49295 31.22337 30 km
Saya sedang mencari bandar dalam jarak 30km dengan koordinat 121.49295 31.22337 Daerah Huangpu, Shanghai sebagai pusatnya.
Jauh sikit, dalam 100km, masih boleh jumpa suzhou
, tambah withdist
untuk tunjuk jarak.
tambah withcoord
boleh mengembalikan latitud dan longitud.
tambah count
hanya mengembalikan jumlah yang saya nyatakan.
georadius china:city 121.49295 31.22337 100 km withdist withcoord count 1
Arahan ini adalah sama dengan arahan georadius, dan boleh mencari elemen dalam julat yang ditentukan.
Tetapi di sini kami tidak menyatakan koordinat titik tengah, tetapi menentukan elemen mana yang merupakan titik tengah.
georadiusbymember china:city suzhou 100 km withdist
Di sini, mengambil elemen suzhou
sebagai titik tengah, cari elemen lain dalam jarak 100km pada hari Jumaat.
Satu atau lebih elemen kedudukan, diwakili oleh cincang.
geohash china:city suzhou shanghai
Mengembalikan rentetan Geohash 11 aksara, rentetan yang mewakili longitud dan latitud semasa, iaitu untuk menukar bentuk dan menukar longitud dan latitud dua dimensi kepada Rentetan satu dimensi.
Jika dua rentetan dalam struktur di atas lebih dekat, jarak antara kedua-dua kedudukan akan lebih dekat Ini sahaja yang anda perlu tahu.
Prinsip asas geo masih zset. Kita boleh menggunakan perintah zset untuk mengendalikan geo, seperti mengalih keluar bandar daripada geo.
zrem china:city haizhuqu
Atas ialah kandungan terperinci Cara menggunakan Geospatial jenis data khas Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!