Trong hướng dẫn này, chúng ta sẽ tìm hiểu về cách tạo và thêm các phần tử trong một giá trị không gian địa lý được lưu trữ tại khóa. Đối với điều này, chúng tôi sẽ sử dụng Redis GEOADD lệnh.
Lệnh GEOADD
Lệnh này được sử dụng để thêm một hoặc nhiều thành viên không gian địa lý được chỉ định trong giá trị không gian địa lý được lưu trữ tại một khóa. Giá trị không gian địa lý không là gì khác ngoài một tập hợp được sắp xếp, được điền bằng lệnh này. Thành viên không gian địa lý được thêm vào tập hợp được sắp xếp theo cách để sau này có thể truy xuất thành viên bằng cách sử dụng truy vấn theo bán kính với các lệnh GEORADIUS và GEORADIUSBYMEMBER.
Tập hợp đã sắp xếp được điền bằng cách sử dụng một kỹ thuật được gọi là Geohash. Trong kỹ thuật này, các bit vĩ độ và kinh độ được xen kẽ để tạo thành một số nguyên 52 bit duy nhất. Số nguyên 52 bit duy nhất này được lưu trữ dưới dạng điểm của giá trị tên trong tập hợp đã sắp xếp.
Thành viên không gian địa lý chứa ba giá trị (thông tin) về vị trí, kinh độ, vĩ độ và tên của nó. Vì vậy, lệnh này có ba đối số để thêm một thành viên không gian địa lý, đầu tiên phải là tọa độ kinh độ, tiếp theo là tọa độ vĩ độ và cuối cùng phải là giá trị tên. Có giới hạn đối với các giá trị tọa độ (kinh độ, vĩ độ) có thể được thêm vào giá trị không gian địa lý. Các giới hạn chính xác theo quy định của EPSG:900913 / EPSG:3785 / OSGEO:41001 như sau:-
- Phạm vi kinh độ hợp lệ là từ -180 đến 180 độ.
- Các vĩ độ hợp lệ là từ -85.05112878 đến 85.05112878 độ.
Lỗi được trả về khi lệnh cố gắng thêm tọa độ nằm ngoài phạm vi đã chỉ định này.
Nếu khóa tồn tại trong kho dữ liệu, tất cả các phần tử được chỉ định sẽ được thêm vào bỏ qua các phần tử đã có (chỉ điểm được cập nhật) trong tập hợp đã sắp xếp, nếu không một tập hợp được sắp xếp mới sẽ được tạo trước khi thực hiện thao tác chèn. Cú pháp của lệnh redis GEOADD như sau:-
Cú pháp:-
redis host:post> GEOADD <keyname> <longitude> <latitude> <name> [longitude latitude name]
Đầu ra:-
Giá trị- (integer) value, representing the number of elements added to the sorted set, not including elements that were already existed, whose only score was updated. - Error, if key exist and value stored at the key is not a sorted set populated using GEOADD command.
Ví dụ:-
Tài liệu tham khảo:-
- Tài liệu lệnh GEOADD
Đó là tất cả về cách tạo và thêm các phần tử trong giá trị không gian địa lý được lưu trữ trong kho dữ liệu redis. Nếu bạn thích nó, hãy chia sẻ suy nghĩ của bạn trong phần bình luận và chia sẻ nó với những người khác.