Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Spatial data indexing in pure Julia (R*-trees etc)

License

NotificationsYou must be signed in to change notification settings

alyst/SpatialIndexing.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Statuscodecov

Documentation:

SpatialIndexing package provides the tools for efficient in-memory indexing ofspatial data inJulia.

Installation

using Pkg; Pkg.add("SpatialIndexing")

from Julia REPL.

Features

R-tree

R-tree organizes data intohierarchical structure and ensures that:

  • minimal bounding rectangles (MBRs) of the nodes (rectangles thatencompass all data elements in the subtree) stay compact,
  • MBRs of the nodes from the same R-tree level have minimal overlapwith each other.

The key benefit of R-tree is its ability to rebalance itselfand maintain efficient structure while handling dynamic data (massive insertionsand deletions).

SpatialIndexing providesRTree type that supports:

  • different R-tree variants (classicR-tree,R*-tree, linear and quadratic node splits)
  • insert!(tree, item),delete!(tree, item) for element-wise insertion and deletion
  • bulk-loading of data using Overlap-minimizing Top-down (OMT) approach (load!(tree, data))
  • subtract!(tree, reg) for removing data within specified regionreg
  • findfirst(tree, reg, [id]),contained_in(tree, reg) andintersects_with(tree, reg) spatial queries

Simple Spatial Index

SimpleSpatialIndex stores all data elements in a vector. So, while insertionof new data takes constant time, the time of spatial searches grows linearlywith the number of elements. This spatial index is intended as a referenceimplementation for benchmarking and not recommended for production usage.

TODO

Usage

TODO

examples folder containsspiral.jl andpareto.jl examples of using R-treefor storing spatial data.

R*-tree of 10000 random points (sequential insertions)

R*-tree of 3D Pareto Front (1233 of 100000 points; bulk-load)

See also

Other Julia packages for spatial data:

References

  • A.Guttman,“R-Trees: A Dynamic Index Structure for Spatial Searching”Proc. 1984 ACM-SIGMOD Conference on Management of Data (1985), pp.47-57.
  • N. Beckmann, H.P. Kriegel, R. Schneider, B. Seeger,"The R*-tree: an efficient and robust access method for points and rectangles"Proc. 1990 ACM SIGMOD international conference on Management of data (1990), p.322
  • T. Lee and S. Lee,"OMT: Overlap Minimizing Top-down Bulk Loading Algorithm for R-tree",CAiSE Short Paper Proceedings (2003)paper

About

Spatial data indexing in pure Julia (R*-trees etc)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors6

Languages


[8]ページ先頭

©2009-2025 Movatter.jp