# geos::index::intervalrtree::SortedPackedIntervalRTree Class Reference

A static index on a set of 1-dimensional intervals, using an R-Tree packed based on the order of the interval midpoints. More...

`#include <SortedPackedIntervalRTree.h>`

List of all members.

## Public Member Functions

void | insert (double min, double max, void *item)
void | query (double min, double max, index::ItemVisitor *visitor)

## Detailed Description

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.

Author:
  Martin Davis

## Member Function Documentation

void geos::index::intervalrtree::SortedPackedIntervalRTree::insert | ( | double | min,
|  | double | max,
|  | void * | 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, ownership left to caller

Exceptions:

  IllegalStateException | if the index has already been queried

void geos::index::intervalrtree::SortedPackedIntervalRTree::query | ( | double | min,
|  | double | max,
|  | index::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

The documentation for this class was generated from the following file:

- SortedPackedIntervalRTree.h