|
|||||||||||
| 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 overflow
public 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 pagefile
public RTree(java.lang.String fileName)
throws RTreeException
fileName - filename of an existing persistent pagefile| Method 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 -
PageFileExceptionprivate 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 | ||||||||||