Library | Static / Dynamic | Cartesian / Geographic | kNN | Index containing points | Index containing boxes | Within radius |
---|---|---|---|---|---|---|
rbush | dynamic | 🗺️ cartesian | ❌ | ✔️ | ✔️ | ❌ |
rbush-knn | dynamic | 🗺️ cartesian | ✔️ | ✔️ | ✔️ | ✔️ |
kdbush | static | 🗺️ cartesian | ❌ | ✔️ | ❌ | ✔️ |
geokdbush | static | 🌏 geo | ✔️ | ✔️ | ❌ | ✔️ |
flatbush | static | 🗺️ cartesian | ✔️ | ✔️ | ✔️ | ✔️ |
geoflatbush | static | 🌏 geo | ✔️ | ✔️ | ✔️ | ✔️ |
Definitions:
- Static: All items must be added to the index initially, they cannot be modified once initialised.
- Dynamic: Items in the index can be added and removed at any time
- Cartesian: Operations an x, y Cartesian coordinates.
- Geographic: Operations on geographic coordinates, lng, lat on a spheroid earth accounting for curvature of the earth and wrapping around the dateline.
- kNN: Find the k (arbitrary number) of items closest to the query point
- Index containing points: The index can contain points as items.
- Index containing boxes: The index can contain rectangles or bounding boxes as items.
- Within radius: Find all the items within a distance of the query point.