com.vividsolutions.jts.index
Interface SpatialIndex

All Known Implementing Classes:
Quadtree, STRtree

public interface SpatialIndex

The basic operations supported by classes implementing spatial index algorithms.

A spatial index typically provides a primary filter for range rectangle queries. A secondary filter is required to test for exact intersection. The secondary filter may consist of other kinds of tests, such as testing other spatial relationships.

Version:
1.7

Method Summary
 void insert(Envelope itemEnv, java.lang.Object item)
          Adds a spatial item with an extent specified by the given Envelope to the index
 java.util.List query(Envelope searchEnv)
          Queries the index for all items whose extents intersect the given search Envelope Note that some kinds of indexes may also return objects which do not in fact intersect the query envelope.
 void query(Envelope searchEnv, ItemVisitor visitor)
          Queries the index for all items whose extents intersect the given search Envelope, and applies an ItemVisitor to them.
 boolean remove(Envelope itemEnv, java.lang.Object item)
          Removes a single item from the tree.
 

Method Detail

insert

public void insert(Envelope itemEnv,
                   java.lang.Object item)
Adds a spatial item with an extent specified by the given Envelope to the index


query

public java.util.List query(Envelope searchEnv)
Queries the index for all items whose extents intersect the given search Envelope Note that some kinds of indexes may also return objects which do not in fact intersect the query envelope.

Parameters:
searchEnv - the envelope to query for
Returns:
a list of the items found by the query

query

public void query(Envelope searchEnv,
                  ItemVisitor visitor)
Queries the index for all items whose extents intersect the given search Envelope, and applies an ItemVisitor to them. Note that some kinds of indexes may also return objects which do not in fact intersect the query envelope.

Parameters:
searchEnv - the envelope to query for
visitor - a visitor object to apply to the items found

remove

public boolean remove(Envelope itemEnv,
                      java.lang.Object item)
Removes a single item from the tree.

Parameters:
itemEnv - the Envelope of the item to remove
item - the item to remove
Returns:
true if the item was found