> I've implemeted Nearest Neighbor searching for 3D points in OctTrees
> and KDTrees but because most of my data is vertically aligned on I'm
> having prpoblems. The OctTrees become to deep and are very slow. The
> KDTrees are fast but the searching is cut short before the true
> closest points are found.
That's rather certainly not the k-d tree's fault. It's a bug in your
nearest neighbor search.
> drill holes and only 95% of the time they are vertical so I can't
> depend on their orientation.
What does it mean for data to "be vertical"? A 3D point has no
direction, so it can't be vertical by itself.