我在 neo4j 中创建了一个空间索引,但是在搜索附近的地方时,我只得到一个结果。
我的查询是:
START n=node:geom('withinDistance:[63.36, 10.35, 50.0]') RETURN n
我在空间索引中有 3 个节点,这些节点具有以下坐标:
- 节点 1 纬度、经度:63.3654、10.3578
- 节点 2 纬度、经度:63.3654、10.3577
- 节点 3 纬度、经度:63.3654、10.3578(同一节点 1)
理论上这三个节点在同一个区域。
任何想法?
更新
我执行了这些步骤来使用空间(全部从 neo4j 浏览器执行-> rest api)
1) 索引创建
:POST /db/data/index/node/
{
"name" : "geom",
"config" : {
"provider" : "spatial",
"geometry_type" : "point",
"lat" : "lat",
"lon" : "lon"
}
}
2)节点创建(都以相同的方式)
:POST /db/data/node
{
"name":"Franciscatos Pizza",
"lat": 63.3654,
"lon": 10.3578
}
3) 节点到空间索引
:POST /db/data/index/node/geom
{
"value":"dummy",
"key":"dummy"
"uri":"http://localhost:7474/db/data/node/8"
}
4) 节点到层
:POST /db/data/ext/SpatialPlugin/graphdb/addNodeToLayer
{
"layer":"geom",
"node":"http://localhost:7474/db/data/node/8"
}
任何 API 响应都正常,所有索引节点都包含 :RTREE_REFERENCE 关系。
根据查询中的距离参数,这会返回不同的节点,但总是一个......