Ưu điểm của cây R so với geohash


18

Geohash đang được sử dụng rộng rãi trong các sản phẩm như: Lucene, mongodb, v.v. và đã trở thành một trong những công nghệ quan trọng nhất hiện nay.

Geohash có thay thế cây R cũ tốt hay cây R có lợi thế nào so với Geohash không?

Câu trả lời:


11

Geohash là cách lập chỉ mục các tính năng không gian rất đơn giản và hiệu quả, đặc biệt là các tính năng điểm. Các tính năng đường và đa giác khó lập chỉ mục hơn một chút, nhưng có thể được thực hiện. Geohash là một lưới kích thước cố định phân cấp tĩnh, được phủ lên trên bề mặt trái đất. Các ô lưới có cùng cấp bậc không trùng nhau. R-Tree là một lưới động mà vị trí ô và kích thước thay đổi tùy thuộc vào các tính năng mà chúng được lập chỉ mục. Các chỉ mục R-Tree có các hộp giới hạn và các ô thay đổi mỗi khi bạn chèn và cập nhật dữ liệu. Geohash chủ yếu được sử dụng để lập chỉ mục các tính năng và các ô không thay đổi với mỗi lần chèn và cập nhật dữ liệu. Các tế bào Geohash không chấp nhận các tính năng như với R-tree.

Một số ưu điểm của geohash (so với r-tree) có thể là:

  • thực hiện dễ dàng
  • không suy giảm hiệu suất với số lượng tính năng ngày càng tăng
  • tìm kiếm gần (một phần đúng)

Một số nhược điểm của geohash (so với r-tree) có thể là:

  • độ chính xác tùy ý của lưới điện
  • khó hơn để lập chỉ mục (và truy vấn) các tính năng đường và đa giác
  • kích thước của chỉ mục có thể lớn với một số phương pháp lập chỉ mục đường và đa giác
  • theo thông số kỹ thuật, nó chỉ có thể được sử dụng với hệ tọa độ kinh độ / vĩ độ, mặc dù phương pháp tương tự cũng có thể được áp dụng cho các hệ tọa độ khác

Những sản phẩm (cơ sở dữ liệu) mà bạn đề cập sử dụng geohash vì geohash chủ yếu được sử dụng để lập chỉ mục các điểm và có rất nhiều ứng dụng cần một tính năng như vậy. Các dòng và đa giác không thường được sử dụng (ngoại trừ các ứng dụng GIS), vậy tại sao phải bận tâm với nó. Lý do khác, tất nhiên, dễ thực hiện. Geohash chuyển đổi tọa độ hai chiều thành giá trị một chiều. Điều này được gọi là giảm kích thước. Giá trị một chiều dễ dàng được lập chỉ mục bởi cây b tiêu chuẩn, phần lớn được sử dụng trong các sản phẩm đó.

Tôi phải đề cập rằng có các thuật toán tương tự như geohash nhưng hầu hết chúng là độc quyền và yêu cầu cấp phép. Geohash là trong phạm vi công cộng. Đây cũng có thể là lý do cho việc sử dụng lớn như vậy trong những năm gần đây.

Có lẽ có một số lợi thế và bất lợi khác, nhưng đây là những điều đầu tiên tôi nghĩ đến. Tôi hy vọng lời giải thích của tôi sẽ giúp một chút.


tôi không hiểu tại sao geohash cho độ chính xác tùy ý của lưới. Bạn có thể vui lòng giải thích với một ví dụ. Tôi sẽ biết ơn bạn vì điều tương tự.
Jannat Arora

1
Geohash chuyển đổi tọa độ kinh độ và vĩ độ thành chuỗi một chiều. Độ dài của chuỗi này được gắn trực tiếp với độ chính xác được chuyển đổi của tọa độ. Hãy nhìn vào unterbahn.com/2009/11/ này . Bạn có thể thấy độ dài của chuỗi geohash được gắn với độ chính xác. Về cơ bản, geohash chuyển đổi điểm thành một khu vực đa giác (một lưới geohash). Kích thước của khu vực đa giác này phụ thuộc vào độ dài của chuỗi geohash và vĩ độ bạn đang tính toán cho geohash.
Mario Miler
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.