There are lots of standard ones, such as:
Binary space partitioning
R-trees and their variants
Which one you choose would depend on the properties of your data (e.g. how "clustered" the points are, whether the set of points is static or dynamic) and what queries you wish to perform (e.g. k-nearest-neighbour search).