This section contains design notes for the temporal kd-tree. The (x) mark denotes the selected design choices.
The temporal coordinate is a real number.
The temporal coordinate is an element of a set which is strictly weak ordered. The problem is that this forces to use binary searching in the initial step of fractional cascading, which is not always optimal.
We will provide constructors for both of the following cases.
Each spatial point is implicitly associated with a temporal coordinate equal to the point’s position in the sequence. The first point gets the temporal coordinate zero. The data-structure records the special form of the temporal coordinates. Using this information the initial step of fractional cascading can be performed by array indexing in constant time.
Each spatial point is explicitly provided a temporal coordinate by the user. The initial step of fractional cascading is performed by binary search in logarithmic time.
In this approach the space-time coordinates are provided as two separate sequences, where the first sequence provides the spatial coordinates, and the second sequence provides the temporal coordinates. When temporal coordinates are not given, they are assumed to increase sequentially, one-by-one, from 0 upwards in integers.
In this approach the input-set is a subset of , where is the spatial dimension, and the last coordinate is the temporal coordinate. The problem with this approach is that often the temporal coordinate is implicit as the position of a spatial point in a sequence. This then requires a separate fusing step to provide the space-time points, which is inconvenient.
Create a new data-structure to implement the temporal kd-tree.
Generalize range-tree such that it can split along any axis at each node. This generalizes, at least for the node-structure, both a kd-tree and a range-tree. A kd-tree contains more information than is available from comparisons. Mainly, the geometry of a node as an aligned box. This geometry is used to cull away subtrees during a nearest-neigbhbor search. To efficiently maintain the distance to each bounding box of a subtree requires further to store the position of the previous split on the same split axis, so that the distance can be incrementally updated.
Problems: