I looked at the definitions of KD-tree and R-tree. It seems to me that they are almost the same.
What is the difference between a KD tree and an R tree?
R-trees and k d-trees are based on similar ideas (dividing space based on axially aligned areas), but the key differences are:
(There are many similar tree structures for dividing space: quadrants, BSP trees, R * points, etc. etc.)
In fact, they are completely different. They serve similar purposes (regional spatial data queries) and are trees, but that's almost all that they have in common.
The main difference between the two not mentioned in this answer is that KD trees are only effective in bulk load situations. Once created, changing or changing the balance of the KD tree is nontrivial. R-trees do not suffer from this.