在空间索引中,neo4j没有给出适当的结果

在空间索引中,neo4j没有给出适当的结果,neo4j,cypher,spring-data-neo4j,neo4j-spatial,Neo4j,Cypher,Spring Data Neo4j,Neo4j Spatial,我们正在Grails项目2.4.3中使用春季数据Neo4j 3.2.0,以及Neo4j空间数据0.13-Neo4j-2.1.6 在用户域中 @Indexed(indexType = IndexType.POINT, indexName = "junctionLocations") Point wkt 在用户存储库中 @Transactional Result<UserDomain> findWithinDistance( final String ind

我们正在Grails项目2.4.3中使用春季数据Neo4j 3.2.0,以及Neo4j空间数据0.13-Neo4j-2.1.6

在用户域中

@Indexed(indexType = IndexType.POINT, indexName = "junctionLocations")
  Point wkt
在用户存储库中

    @Transactional
        Result<UserDomain> findWithinDistance( final String indexName, Circle circle)

@Query("START item=node:junctionLocations({0}) RETURN labels(item) as label ,item")
        List match(String a)
@Transactional
Result<T> findWithinDistance(final String indexName, final double lat, double lon, double distanceKm);
@Transactional
结果findWithinDistance(最终字符串索引名,圆圈)
@查询(“开始项=节点:连接位置({0})将标签(项)返回为标签,项”)
列表匹配(字符串a)
所以当我们跑的时候

    Iterable<UserDomain> teamMembers1 = userDomainRepository.findWithinDistance
("junctionLocations", new
                Circle(new Point(28.6100,77.2300),new Distance(2, Metrics.KILOMETERS)));
Iterable teamMembers1=userDomainRepository.findWithinDistance
(“路口位置”,新
圆(新的点(28.6100,77.2300),新的距离(2,公制公里));
然后给出准确的数据 但是当我们跑的时候

Iterable<UserDomain> teamMembers = userDomainRepository.match("withinDistance:[28.6100,77.2300,2.0]")
Iterable teamMembers=userDomainRepository.match(“withinDistance:[28.6100,77.2300,2.0]”)
然后它不会给出任何数据,但是如果我们将距离增加到10000,那么它会给出数据

实际上,我们希望使用Cypher查询获得正确的数据。 我们错过什么了吗?
使用Cypher获得正确的数据有什么方法吗?

我认为空间存储库的文档中存在一些问题

    @Transactional
        Result<UserDomain> findWithinDistance( final String indexName, Circle circle)

@Query("START item=node:junctionLocations({0}) RETURN labels(item) as label ,item")
        List match(String a)
@Transactional
Result<T> findWithinDistance(final String indexName, final double lat, double lon, double distanceKm);
即28.6100纬度、77.23长距离和35.5公里距离

这没有提供任何数据

但若我交换lat,lon位置,那个么查询将给出适当的结果

findWithinDistance("junctionLocations",77.2300, 28.6100, 35.5);
所以,若我是正确的,那个么在空间存储库中,正确的方式是

@Transactional
Result<T> findWithinDistance(final String indexName, final double lon, double lat, double distanceKm);
@Transactional
结果findWithinDistance(最终字符串索引名、最终双lon、双lat、双距离km);

可能是默认距离为米。或者你必须翻转纬度/经度。不确定。如果距离以米为单位,则Iterable teamMembers1=userDomainRepository.FindWithindInstance(“交叉点位置”、新圆(新点(28.6100,77.2300)、新距离(2,公制公里))。我不这样认为,问题是米或公斤米的工作,问题是我翻转横向/纵向。。。我的错误