目标:给定坐标X,找到坐标X的“n”最近线多边形,而不仅仅是“n”最近点。示例:https://i.imgur.com/qyxV2MF.png
我有一组空间线多边形,可以有2个以上的坐标。它们的坐标存储在(scipy)KDtree中以启用NN搜索。在
首先,我将查询最近坐标的“I”个数,然后查找相应的线多边形->;“I”坐标可能不一定生成“I”线。在
为了实现“n”最近的行,我需要增加“I”。我的问题是“i”可能是不可预测的,因为每个线多边形之间的坐标数不同。例如,一个线多边形可以用2个坐标表示,但另一个可以用10个坐标表示。大多数时候,我只需要2个从点X最近的相邻线多边形
在示例图像中,我需要行A和B作为结果。即使“i”=3,也只能找到线A,因为A1、A2、A3是X的最近邻
问题:是否有方法将形状的坐标组合在一起,然后进行NN搜索以获得“n”个唯一形状?(除了粗暴地强迫“i”以确保“n”的独特形状)
当前解决方法伪代码:found = []
while True:
if first_loop:
result = look up N nearest coords
else:
result = look up Nth nearest coord
look up shapes using result and append to found
perform de-duplication of found
if len(found) >= required:
return found
else:
N = N+1 # to check the Nth neighbor next iteration