Spatial data indexing in pure Julia (R*-trees etc)
MIT License
Documentation:
SpatialIndexing
package provides the tools for efficient in-memory indexing of
spatial data in Julia.
using Pkg; Pkg.add("SpatialIndexing")
from Julia REPL.
R-tree organizes data into hierarchical structure and ensures that:
The key benefit of R-tree is its ability to rebalance itself and maintain efficient structure while handling dynamic data (massive insertions and deletions).
SpatialIndexing
provides RTree
type that supports:
insert!(tree, item)
, delete!(tree, item)
for element-wise insertion and deletionload!(tree, data)
)subtract!(tree, reg)
for removing data within specified region reg
findfirst(tree, reg, [id])
, contained_in(tree, reg)
and intersects_with(tree, reg)
spatial queriesSimpleSpatialIndex
stores all data elements in a vector. So, while insertion
of new data takes constant time, the time of spatial searches grows linearly
with the number of elements. This spatial index is intended as a reference
implementation for benchmarking and not recommended for production usage.
TODO
TODO
examples
folder contains spiral.jl
and pareto.jl
examples of using R-tree
for storing spatial data.
Other Julia packages for spatial data: