Я использую neo4j-пространственный 0.13 и Neo4J 2.1.8 в производстве.в пределахDistance неточно вообще
У меня есть эти два момента:
Point(48.89205f,2.373335f)
Point(48.885464f,2.2808545f)
haversine Используя формулу, расстояние между этими двумя точками: 6.8 км.
Я ожидаю, что этот запрос, чтобы вернуть хотя бы другую точку:
START targetedPersons = node:personslocation("withinDistance:[2.373335,48.89205, 7.0]")
return targetedPersons.id
, но это не так.
Однако, когда я передаю несколько большее значение, например, 11.0
в качестве третьего аргумента, он работает.
Почему? Это известная серьезная ошибка?
Я действительно подозреваю, что математическая формула, используемая inDistance, немного отличается от формулы haversine ...
Может кто-нибудь подтвердить?
Да я знаю, что это тонкость восприятия с заказом, но мне удалось справиться с этим. Я только что осуществил то же вычисление, но все еще есть проблема точности. – Mik378
Мне удалось уточнить алгоритм, используя тот же метод, что и в cypher + reordering lat lon. Это работает сейчас, спасибо. – Mik378