I'm looking for a KDTree implementation in Java. I've done a google search and the results seem pretty haphazard. There are actually lots of results, but they're mostly just little one-off implementations, and I'd rather find something with a little more "production value". Something like apache collections or the excellent C5 collection library for .NET. Something where I can see the public bug tracker and check to see when the last SVN commit happened. Also, in an ideal world, I'd find a nice well-designed API for spatial data structures, and the KDTree would be just one class in that library.
For this project, I'll only be working in either 2 or 3 dimensions, and I'm mostly just interested in a good nearest-neighbors implementation.
Any tips?
Incidentally, here are the results I've found so far:
- http://www.savarese.com/software/SavaAlgorithms/api/java/
- http://www.koders.com/java/fid7CE62747CE902D3117625B4954D85A9A6400DFDC.aspx
Both of them seem a little dodgy to me.