找到M点的N点中最近的邻居

时间:2013-12-02 09:52:31

标签: sql nearest-neighbor

我目前正在尝试通过优化行驶距离为客户分配区域。 到目前为止,我已经生成了一个从/到/驾驶时间表,并且针对问题的每个点,我知道他们居住的位置。

因此,我有一个包含客户位置的列表和包含服务位置的列表b。列表应该被分配到列表a。 对我来说,似乎b中的每个点都应该在距离a中的点的距离上进行评估,然后分配到最近的点。

我的问题......是否有办法使用常规msSQL来解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用K-d树进行O(logN)查找任何给定点的最近邻居。这里如果将点定义为坐标,则可以使用二维树。制作服务地点的二维树,并在给定的客户位置查询NN。请注意,当距离为欧氏距离时,k-d树可用于获取最近邻居,但不能用于任何其他随机距离。

K-d trees

相关问题