Overview
The r_tree package provides an R-tree implementation for efficiently indexing and querying two-dimensional spatial data in Dart. It enables fast range queries and nearest-neighbor searches, making it ideal for applications involving geographic coordinates, collision detection, or layout management. Built for performance and compatibility across platforms, it supports Android, iOS, Web, macOS, Windows, and Linux. The package is maintained by Workiva and integrates seamlessly with Flutter projects via pub.
Use cases
- Spatial data indexing
- Collision detection in games
- Geographic coordinate queries
- UI element hit testing
- Proximity-based search
- Map-based application features
Key features
- Efficient 2D range queries
- Support for nearest-neighbor searches
- Cross-platform compatibility
- High-performance spatial indexing
- Simple API for insertion and querying
- Thread-safe operations
Suitable for
- Game development
- GIS applications
- Interactive UIs with spatial logic
- Data visualization tools
- Location-aware apps
- Performance-critical spatial operations
Considerations
- Best suited for 2D data only
- Not optimized for very large datasets without partitioning
- Requires careful handling of coordinate precision
- Limited to static or batch-updated data in some use cases
- No built-in persistence support