Class KdNode


  • public class KdNode
    extends Object
    A node of a KdTree, which represents one or more points in the same location.
    Author:
    dskea
    • Constructor Detail

      • KdNode

        public KdNode​(double _x,
                      double _y,
                      Object data)
        Creates a new KdNode.
        Parameters:
        _x - coordinate of point
        _y - coordinate of point
        data - a data objects to associate with this node
      • KdNode

        public KdNode​(Coordinate p,
                      Object data)
        Creates a new KdNode.
        Parameters:
        p - point location of new node
        data - a data objects to associate with this node
    • Method Detail

      • getX

        public double getX()
        Returns the X coordinate of the node
        Returns:
        X coordinate of the node
      • getY

        public double getY()
        Returns the Y coordinate of the node
        Returns:
        Y coordinate of the node
      • splitValue

        public double splitValue​(boolean isSplitOnX)
        Gets the split value at a node, depending on whether the node splits on X or Y. The X (or Y) ordinates of all points in the left subtree are less than the split value, and those in the right subtree are greater than or equal to the split value.
        Parameters:
        isSplitOnX - whether the node splits on X or Y
        Returns:
        the splitting value
      • getCoordinate

        public Coordinate getCoordinate()
        Returns the location of this node
        Returns:
        p location of this node
      • getData

        public Object getData()
        Gets the user data object associated with this node.
        Returns:
        user data
      • getLeft

        public KdNode getLeft()
        Returns the left node of the tree
        Returns:
        left node
      • getRight

        public KdNode getRight()
        Returns the right node of the tree
        Returns:
        right node
      • getCount

        public int getCount()
        Returns the number of inserted points that are coincident at this location.
        Returns:
        number of inserted points that this node represents
      • isRepeated

        public boolean isRepeated()
        Tests whether more than one point with this value have been inserted (up to the tolerance)
        Returns:
        true if more than one point have been inserted with this value