⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstractnode.html

📁 一个java实现的R树
💻 HTML
📖 第 1 页 / 共 2 页
字号:

<A NAME="tree"><!-- --></A><H3>
tree</H3>
<PRE>
protected transient <A HREF="../rtree/RTree.html">RTree</A> <B>tree</B></PRE>
<DL>
<DD>Parent of all nodes.</DL>
<HR>

<A NAME="parent"><!-- --></A><H3>
parent</H3>
<PRE>
protected int <B>parent</B></PRE>
<DL>
<DD>The pageNumber where the parent of this node is stored.</DL>
<HR>

<A NAME="pageNumber"><!-- --></A><H3>
pageNumber</H3>
<PRE>
protected int <B>pageNumber</B></PRE>
<DL>
<DD>The pageNumber where this node is stored.</DL>
<HR>

<A NAME="data"><!-- --></A><H3>
data</H3>
<PRE>
protected <A HREF="../rtree/HyperCube.html">HyperCube</A>[] <B>data</B></PRE>
<DL>
<DD>All node data are stored into this array. It must have a size of <B>nodeCapacity + 1</B> to hold all data plus an overflow HyperCube, when the node must be split.</DL>
<HR>

<A NAME="branches"><!-- --></A><H3>
branches</H3>
<PRE>
protected int[] <B>branches</B></PRE>
<DL>
<DD>Holds the pageNumbers containing the children of this node. Always has same size with the data array. If this is a Leaf node, than all branches should point to the real data objects.</DL>
<HR>

<A NAME="usedSpace"><!-- --></A><H3>
usedSpace</H3>
<PRE>
protected int <B>usedSpace</B></PRE>
<DL>
<DD>How much space is used up into this node. If equal to nodeCapacity then node is full.</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A><TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="AbstractNode(rtree.RTree, int, int, int)"><!-- --></A><H3>
AbstractNode</H3>
<PRE>
protected <B>AbstractNode</B>(<A HREF="../rtree/RTree.html">RTree</A>&nbsp;tree,                       int&nbsp;parent,                       int&nbsp;pageNumber,                       int&nbsp;level)</PRE>
<DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A><TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="getLevel()"><!-- --></A><H3>
getLevel</H3>
<PRE>
public int <B>getLevel</B>()</PRE>
<DL>
<DD>Returns the node level. Always zero for leaf nodes.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../rtree/Node.html#getLevel()">getLevel</A> in interface <A HREF="../rtree/Node.html">Node</A></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>Level of node.</DL>
</DD>
</DL>
<HR>

<A NAME="isRoot()"><!-- --></A><H3>
isRoot</H3>
<PRE>
public boolean <B>isRoot</B>()</PRE>
<DL>
<DD>Returns true if this node is the root node.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../rtree/Node.html#isRoot()">isRoot</A> in interface <A HREF="../rtree/Node.html">Node</A></DL>
</DD>
</DL>
<HR>

<A NAME="isIndex()"><!-- --></A><H3>
isIndex</H3>
<PRE>
public boolean <B>isIndex</B>()</PRE>
<DL>
<DD>Returns true if this node is an Index. Root node is an Index too, unless it is a Leaf.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../rtree/Node.html#isIndex()">isIndex</A> in interface <A HREF="../rtree/Node.html">Node</A></DL>
</DD>
</DL>
<HR>

<A NAME="isLeaf()"><!-- --></A><H3>
isLeaf</H3>
<PRE>
public boolean <B>isLeaf</B>()</PRE>
<DL>
<DD>Returns true if this node is a Leaf. Root may be a Leaf too.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../rtree/Node.html#isLeaf()">isLeaf</A> in interface <A HREF="../rtree/Node.html">Node</A></DL>
</DD>
</DL>
<HR>

<A NAME="getNodeMbb()"><!-- --></A><H3>
getNodeMbb</H3>
<PRE>
public <A HREF="../rtree/HyperCube.html">HyperCube</A> <B>getNodeMbb</B>()</PRE>
<DL>
<DD>Returns the mbb of all HyperCubes present in this node.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../rtree/Node.html#getNodeMbb()">getNodeMbb</A> in interface <A HREF="../rtree/Node.html">Node</A></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>A new HyperCube object, representing the mbb of this node.</DL>
</DD>
</DL>
<HR>

<A NAME="getUniqueId()"><!-- --></A><H3>
getUniqueId</H3>
<PRE>
public java.lang.String <B>getUniqueId</B>()</PRE>
<DL>
<DD>Returns a unique id for this node. The page number is unique for every node.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../rtree/Node.html#getUniqueId()">getUniqueId</A> in interface <A HREF="../rtree/Node.html">Node</A></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>A string representing a unique id for this node.</DL>
</DD>
</DL>
<HR>

<A NAME="getParent()"><!-- --></A><H3>
getParent</H3>
<PRE>
public <A HREF="../rtree/AbstractNode.html">AbstractNode</A> <B>getParent</B>()</PRE>
<DL>
<DD>Returns the parent of this node. If there is a parent, it must be an Index.  If this node is the root, returns null. This function loads one disk page into main memory.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../rtree/Node.html#getParent()">getParent</A> in interface <A HREF="../rtree/Node.html">Node</A></DL>
</DD>
</DL>
<HR>

<A NAME="getHyperCubes()"><!-- --></A><H3>
getHyperCubes</H3>
<PRE>
public <A HREF="../rtree/HyperCube.html">HyperCube</A>[] <B>getHyperCubes</B>()</PRE>
<DL>
<DD>Return a copy of the HyperCubes present in this node.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../rtree/Node.html#getHyperCubes()">getHyperCubes</A> in interface <A HREF="../rtree/Node.html">Node</A></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>An array of HyperCubes containing copies of the original data.</DL>
</DD>
</DL>
<HR>

<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
public java.lang.String <B>toString</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../rtree/Node.html#toString()">toString</A> in interface <A HREF="../rtree/Node.html">Node</A><DT><B>Overrides:</B><DD>toString in class java.lang.Object</DL>
</DD>
</DL>
<HR>

<A NAME="chooseLeaf(rtree.HyperCube)"><!-- --></A><H3>
chooseLeaf</H3>
<PRE>
protected abstract <A HREF="../rtree/Leaf.html">Leaf</A> <B>chooseLeaf</B>(<A HREF="../rtree/HyperCube.html">HyperCube</A>&nbsp;h)</PRE>
<DL>
<DD>chooseLeaf finds the most appropriate leaf where the given HyperCube should be stored.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>h</CODE> - The new HyperCube.<DT><B>Returns:</B><DD>The leaf where the new HyperCube should be inserted.</DL>
</DD>
</DL>
<HR>

<A NAME="findLeaf(rtree.HyperCube)"><!-- --></A><H3>
findLeaf</H3>
<PRE>
protected abstract <A HREF="../rtree/Leaf.html">Leaf</A> <B>findLeaf</B>(<A HREF="../rtree/HyperCube.html">HyperCube</A>&nbsp;h)</PRE>
<DL>
<DD>findLeaf returns the leaf that contains the given hypercube, null if the hypercube is not contained in any of the leaves of this node.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>h</CODE> - The HyperCube to search for.<DT><B>Returns:</B><DD>The leaf where the HyperCube is contained, null if such a leaf is not found.</DL>
</DD>
</DL>
<HR>

<A NAME="addData(rtree.AbstractNode)"><!-- --></A><H3>
addData</H3>
<PRE>
protected void <B>addData</B>(<A HREF="../rtree/AbstractNode.html">AbstractNode</A>&nbsp;n)</PRE>
<DL>
<DD>Adds a child node into this node. This function does not save the node into persistent storage. It is used for bulk loading a node whith data. The user must make sure that she saves the node into persistent storage, after calling this function.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>n</CODE> - The new node to insert as a child of the current node.</DL>
</DD>
</DL>
<HR>

<A NAME="addData(rtree.HyperCube, int)"><!-- --></A><H3>
addData</H3>
<PRE>
protected void <B>addData</B>(<A HREF="../rtree/HyperCube.html">HyperCube</A>&nbsp;h,                       int&nbsp;page)</PRE>
<DL>
<DD>Adds a child node into this node. This function does not save the node into persistent storage. It is used for bulk loading a node whith data. The user must make sure that she saves the node into persistent storage, after calling this function.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>h</CODE> - The HyperCube to add.<DD><CODE>page</CODE> - The page where this HyperCube is located, if any.</DL>
</DD>
</DL>
<HR>

<A NAME="deleteData(int)"><!-- --></A><H3>
deleteData</H3>
<PRE>
protected void <B>deleteData</B>(int&nbsp;i)</PRE>
<DL>
<DD>Deletes a data entry from this node. This function does not save the node into persistent storage. The user must make sure that  she saves the node into persistent storage, after calling this function.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>i</CODE> - The index of the data entry to be deleted.</DL>
</DD>
</DL>
<HR>

<A NAME="quadraticSplit(rtree.HyperCube, int)"><!-- --></A><H3>
quadraticSplit</H3>
<PRE>
protected int[][] <B>quadraticSplit</B>(<A HREF="../rtree/HyperCube.html">HyperCube</A>&nbsp;h,                                 int&nbsp;page)</PRE>
<DL>
<DD>Quadratic algorithm for spliting a node. [A. Guttman 'R-trees a dynamic index structure for spatial searching']<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>h</CODE> - The overflow HyperCube that caused the split.<DD><CODE>page</CODE> - The page where the child node that caused the split is stored. -1 if the split         occurs in a Leaf node.</DL>
</DD>
</DL>
<HR>

<A NAME="pickSeeds()"><!-- --></A><H3>
pickSeeds</H3>
<PRE>
protected int[] <B>pickSeeds</B>()</PRE>
<DL>
<DD>pickSeeds is used by  split to initialize the two groups of HyperCubes. [A. Guttman 'R-trees a dynamic index structure for spatial searching'] 3.5.2. A Quadratic-Cost Algorithm<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>The two indices of the selected entries to be the first elements of the groups.</DL>
</DD>
</DL>
<HR>

<A NAME="condenseTree(java.util.Vector)"><!-- --></A><H3>
condenseTree</H3>
<PRE>
protected void <B>condenseTree</B>(java.util.Vector&nbsp;q)</PRE>
<DL>
<DD>Used to condense the tree after an entry has been deleted. [A. Guttman 'R-trees a dynamic index structure for spatial searching'] 3.3. Deletion<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractNode.html"><FONT ID="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../rtree/CachedPersistentPageFile.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="AbstractNode.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>

</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -