Запрос Scipy KDTree ничего не находит

Итак, у меня есть два массива, a, формы (р, ​​2) и b, формы (q,2). Я создаю KDTree со Scipy

c=sp.KDTree(a)

У меня есть верхняя граница, ub=1.0/12.0Когда я делаю

print c.query(b,distance_upper_bound=ub)

я получил ([inf,inf,inf...],[len(a),len(a),len(a)...])Который означает, что a а также b не имеют общих элементов. Чтобы подтвердить это, я делаю цикл for

for n in range(len(c.data)):#the result is the same with len(a)
  for m in range(len(b)):
    if (c.data[m][0]-b[n][0])**2.0+(c.data[m][1]-b[n][1])**2.0<ub**2.0:
      print c.data[m],b[n],n,m

Много n,m пары печатаются.
я сделал a а также b универсальные массивы, потому что это произошло с разными массивами.
Самым загадочным для меня является то, что в том же коде я использовал query и получил хорошие результаты.
Итак, не могли бы вы указать мне правильное направление?

Редактировать: по запросу, пример данных. Это некоторые данные, напечатанные for цикл. Полные массивы действительно длинные.

a=np.array([[276.95368542701721, 330.18454774620238], 
[276.95368542701721, 330.18454774620238], 
[283.19923346114763, 337.60512985013065], 
[270.32420807690886, 331.46587512659323], 
[271.32525610216351, 333.51103014735435], 
[271.9742523815284, 330.26777673087207], 
[268.89584462538102, 331.5474437183201], 
[278.6808380388178, 331.92691700030088], 
[271.36541507290735, 332.74113908742231]])

b=np.array([[ 276.956177, 330.183134],
[ 276.956177, 330.183134],
[ 283.264282, 337.592966],
[ 270.319366, 331.538029],
[ 271.351807, 333.578056],
[ 272.019257, 330.268417],
[ 268.913958, 331.523153],
[ 278.681976, 331.927687],
[ 271.303917, 332.706767]])

0 ответов

Другие вопросы по тегам