在 SQL 中使用 R 树

Using R-Trees in SQL

TLDR:在 SQL 数据库中存储空间数据以用于 R-Trees 的最佳方式是什么?


长问题:

我正在编写一个包含空间数据的功能。目标是存储 POI 并能够快速检索数据、执行聚类等。

我的理解是 R*-Trees 是解决这类任务的好方法。我打算使用:https://github.com/davidmoten/rtree

SQLite 似乎提供 R 树,但我只能使用 SQL。存储这些数据的最有效方式是什么?

获取具有 R 树的数据库。

例如 SQLite、PostgreSQL、Oracle、...

但请注意,与 ELKI 等内存索引相比,这些数据库的查询性能通常会很差。特别是如果你想要最近的邻居与 haversine 距离,这是我最需要的。

通常,他们的 R 树索引是一个丑陋的 hack。似乎他们通常创建一个 table 来存储树的页面,因此查询意味着从 table.

中重复选择行