Class SortedPackedIntervalRTree

java.lang.Object
org.locationtech.jts.index.intervalrtree.SortedPackedIntervalRTree

public class SortedPackedIntervalRTree extends Object
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 Details

  • Constructor Details

    • SortedPackedIntervalRTree

      public SortedPackedIntervalRTree()
  • Method Details

    • insert

      public void insert(double min, double max, Object item)
      Adds an item to the index which is associated with the given interval
      Parameters:
      min - the lower bound of the item interval
      max - the upper bound of the item interval
      item - the item to insert
      Throws:
      IllegalStateException - if the index has already been queried
    • init

      private void init()
    • buildRoot

      private void buildRoot()
    • buildTree

      private IntervalRTreeNode buildTree()
    • buildLevel

      private void buildLevel(List src, List dest)
    • printNode

      private void printNode(IntervalRTreeNode node)
    • query

      public 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.
      Parameters:
      min - the lower bound of the query interval
      max - the upper bound of the query interval
      visitor - the visitor to pass any matched items to