Class SortedPackedIntervalRTree
java.lang.Object
org.locationtech.jts.index.intervalrtree.SortedPackedIntervalRTree
A static index on a set of 1-dimensional intervals,
using an R-Tree packed based on the order of the interval midpoints.
It supports range searching,
where the range is an interval of the real line (which may be a single point).
A common use is to index 1-dimensional intervals which
are the projection of 2-D objects onto an axis of the coordinate system.
This index structure is static - items cannot be added or removed once the first query has been made. The advantage of this characteristic is that the index performance can be optimized based on a fixed set of items.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
buildLevel
(List src, List dest) private void
private IntervalRTreeNode
private void
init()
void
Adds an item to the index which is associated with the given intervalprivate void
printNode
(IntervalRTreeNode node) void
query
(double min, double max, ItemVisitor visitor) Search for intervals in the index which intersect the given closed interval and apply the visitor to them.
-
Field Details
-
leaves
-
root
-
level
private int level
-
-
Constructor Details
-
SortedPackedIntervalRTree
public SortedPackedIntervalRTree()
-
-
Method Details
-
insert
Adds an item to the index which is associated with the given interval- Parameters:
min
- the lower bound of the item intervalmax
- the upper bound of the item intervalitem
- the item to insert- Throws:
IllegalStateException
- if the index has already been queried
-
init
private void init() -
buildRoot
private void buildRoot() -
buildTree
-
buildLevel
-
printNode
-
query
Search for intervals in the index which intersect the given closed interval and apply the visitor to them.- Parameters:
min
- the lower bound of the query intervalmax
- the upper bound of the query intervalvisitor
- the visitor to pass any matched items to
-