I looked at the definition of KD-tree and R-tree. It seems to me that they are almost the same.
What\'s the difference between a KD-tree and an R-tree?
A major difference between the two not mentioned in this answer is that KD-trees are only efficient in bulk-loading situations. Once built, modifying or rebalancing a KD-tree is non-trivial. R-trees do not suffer from this.