|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.deegree_impl.io.rtree.RTree
Implementierung eines R-Baumes nach den Algorithmen von Antonio Guttman.
Field Summary | |
PageFile |
file
|
Constructor Summary | |
RTree(int dimension,
int capacity)
Erzeugt einen leeren R-Baum. |
|
RTree(int dimension,
int capacity,
java.lang.String fileName)
Erzeugt neuen R-Baum abgespeichert in Persistenter PageFile. |
|
RTree(java.lang.String fileName)
Erzeugt R-Baum basierend auf übergebener Persistenter PageFile. |
Method Summary | |
private void |
adjustTree(Node n1,
Node n2)
|
private LeafNode |
chooseLeaf(Node node,
HyperBoundingBox box)
|
void |
close()
Closes the rtree and frees the ressources. |
private void |
condenseTree(Node n,
java.util.Stack stack)
|
java.lang.Object[] |
contains(HyperBoundingBox box)
Sucht alle Einträge, deren HyperBoundingBoxes die die übergebene enthalten. |
private void |
containsSearch(Node node1,
java.util.Vector v,
HyperBoundingBox box)
|
boolean |
delete(HyperBoundingBox box)
Löscht alle Eintrag aus dem R-Baum |
boolean |
delete(HyperBoundingBox box,
int objID)
Löscht einen Eintrag aus dem R-Baum |
java.lang.Object[] |
find(HyperBoundingBox box)
Findet alle Eintrag aus dem R-Baum |
private void |
findLeaf(Node node,
HyperBoundingBox box,
int objID,
java.util.Vector v)
|
private void |
findSearch(Node node1,
java.util.Vector v,
HyperBoundingBox box)
|
boolean |
insert(java.lang.Object obj,
HyperBoundingBox box)
Fügt ein Object mit seiner HyperBoundingBox in den R-Baum ein. |
java.lang.Object[] |
intersects(HyperBoundingBox box)
Sucht alle Einträge, deren HyperBoundingBoxes mit der übergebenen überlappen. |
private void |
intersectsSearch(Node node1,
java.util.Vector v,
HyperBoundingBox box)
|
double[] |
nearestNeighbour(HyperPoint point)
Holt den nächsten Nachbarn zum angegebenen Suchpunkt. |
private double[] |
nearestNeighbour(Node node,
HyperPoint point,
double[] temp)
|
private int[] |
pickNext(Node node,
boolean[] marker,
Node group1,
Node group2)
|
private int[] |
pickSeeds(Node node)
|
private Node[] |
splitNode(Node node)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public PageFile file
Constructor Detail |
public RTree(int dimension, int capacity) throws RTreeException
dimension
- number of dimensions of all datacapacity
- maximum load per node (page) plus 1 for overflowpublic RTree(int dimension, int capacity, java.lang.String fileName) throws RTreeException
dimension
- number of dimensions of all datacapacity
- maximum load per node (page) plus 1 for overflowfileName
- filename of the persistent pagefilepublic RTree(java.lang.String fileName) throws RTreeException
fileName
- filename of an existing persistent pagefileMethod Detail |
public java.lang.Object[] intersects(HyperBoundingBox box) throws RTreeException
box
- für Überlappung
RTreeException
public java.lang.Object[] contains(HyperBoundingBox box) throws RTreeException
box
- die enthalten sein soll
RTreeException
private void containsSearch(Node node1, java.util.Vector v, HyperBoundingBox box)
node1
- v
- box
- private void intersectsSearch(Node node1, java.util.Vector v, HyperBoundingBox box)
node1
- v
- box
- public boolean insert(java.lang.Object obj, HyperBoundingBox box) throws RTreeException
obj
- das einzufügende Object (Integer-Object)box
- dessen HyperBoundingBox
RTreeException
private Node[] splitNode(Node node) throws PageFileException
node
-
PageFileException
private int[] pickSeeds(Node node)
node
-
private int[] pickNext(Node node, boolean[] marker, Node group1, Node group2)
node
- marker
- group1
- group2
-
private LeafNode chooseLeaf(Node node, HyperBoundingBox box)
node
- box
-
public double[] nearestNeighbour(HyperPoint point) throws RTreeException
point
- Suchpunkt
RTreeException
private double[] nearestNeighbour(Node node, HyperPoint point, double[] temp)
node
- point
- temp
-
public void close() throws RTreeException
RTreeException
- if an error occures.public boolean delete(HyperBoundingBox box, int objID) throws RTreeException
box
- BoundingBox des EintragesobjID
- Objekt-ID zur genauen Identifizierung.
RTreeException
public boolean delete(HyperBoundingBox box) throws RTreeException
box
- BoundingBox der Eintragungen
RTreeException
public java.lang.Object[] find(HyperBoundingBox box) throws RTreeException
box
- BoundingBox der Eintragungen
RTreeException
private void findSearch(Node node1, java.util.Vector v, HyperBoundingBox box)
node1
- v
- box
- private void findLeaf(Node node, HyperBoundingBox box, int objID, java.util.Vector v)
node
- box
- objID
- v
- private void condenseTree(Node n, java.util.Stack stack) throws PageFileException
n
- stack
-
PageFileException
private void adjustTree(Node n1, Node n2) throws PageFileException
n1
- n2
-
PageFileException
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |