public class KdTree
extends java.lang.Object
This implementation supports detecting and snapping points which are closer than a given tolerance value. If the same point (up to tolerance) is inserted more than once a new node is not created but the count of the existing node is incremented.
Constructor and Description |
---|
KdTree()
Creates a new instance of a KdTree
with a snapping tolerance of 0.0.
|
KdTree(double tolerance)
Creates a new instance of a KdTree, specifying a snapping distance tolerance.
|
Modifier and Type | Method and Description |
---|---|
KdNode |
insert(Coordinate p)
Inserts a new point in the kd-tree, with no data.
|
KdNode |
insert(Coordinate p,
java.lang.Object data)
Inserts a new point into the kd-tree.
|
java.util.List |
query(Envelope queryEnv)
Performs a range search of the points in the index.
|
void |
query(Envelope queryEnv,
java.util.List result)
Performs a range search of the points in the index.
|
public KdTree()
public KdTree(double tolerance)
tolerance
- the tolerance distance for considering two points equalpublic KdNode insert(Coordinate p)
p
- the point to insertpublic KdNode insert(Coordinate p, java.lang.Object data)
p
- the point to insertdata
- a data item for the pointpublic java.util.List query(Envelope queryEnv)
queryEnv
- the range rectangle to querypublic void query(Envelope queryEnv, java.util.List result)
queryEnv
- the range rectangle to queryresult
- a list to accumulate the result nodes into