Neo4j A consulta Cypher 'WithinDistance' espacial retorna vazia enquanto a chamada REST retorna dados
Eu tenho o que parece ser uma camada espacial e um índice corretamente configurados e posso consultar com êxito um nó usando a chamada da API REST findGeometriesWithinDistance.
POST /db/data/ext/SpatialPlugin/graphdb/findGeometriesWithinDistance {"layer":"geom","pointX":15.0,"pointY":60.0,"distanceInKm":100.0}
No entanto, ao consultar usando cypher, não obtenho resultados (tentei inverter a ordem de 60.0 e 15.0 sem sorte):
START n=node:geom('withinDistance:[60.0, 15.0, 500.0]') return n;
Cyper retorna:
==> +---+
==> | n |
==> +---+
==> +---+
==> 0 row
==>
==> 13 ms
DESCANSAR:
200 OK
==> [ {
==> "paged_traverse" : "http://localhost:7474/db/data/node/14472/paged/traverse/{returnType}{?pageSize,leaseTime}",
==> "outgoing_relationships" : "http://localhost:7474/db/data/node/14472/relationships/out",
==> "data" : {
==> "lon" : 15.2,
==> "bbox" : [ 15.2, 60.1, 15.2, 60.1 ],
==> "RaceName" : "Parador Es Muy Caliente",
==> "lat" : 60.1,
==> "gtype" : 1
==> },
==> "all_typed_relationships" : "http://localhost:7474/db/data/node/14472/relationships/all/{-list|&|types}",
==> "traverse" : "http://localhost:7474/db/data/node/14472/traverse/{returnType}",
==> "self" : "http://localhost:7474/db/data/node/14472",
==> "all_relationships" : "http://localhost:7474/db/data/node/14472/relationships/all",
==> "property" : "http://localhost:7474/db/data/node/14472/properties/{key}",
==> "properties" : "http://localhost:7474/db/data/node/14472/properties",
==> "outgoing_typed_relationships" : "http://localhost:7474/db/data/node/14472/relationships/out/{-list|&|types}",
==> "incoming_relationships" : "http://localhost:7474/db/data/node/14472/relationships/in",
==> "incoming_typed_relationships" : "http://localhost:7474/db/data/node/14472/relationships/in/{-list|&|types}",
==> "extensions" : {
==> },
==> "create_relationship" : "http://localhost:7474/db/data/node/14472/relationships"
==> } ]
Chamadas REST para reproduzir: Criar Camada:
POST /db/data/ext/SpatialPlugin/graphdb/addSimplePointLayer { "layer":"geom", "lat":"lat", "lon":"lon" }
Criar índice:
POST /db/data/index/node/ {"name":"geom", "config":{"provider":"spatial", "geometry_type":"point","lat":"lat","lon":"lon"}}
Criar nó:
POST /db/data/node {"lat":60.2,"lon":15.1,"RaceName":"Parador Es Muy Caliente"}
(Em resposta, examine "self" e encontre o nodeid)
Indexar o nó:
POST /db/data/ext/SpatialPlugin/graphdb/addNodeToLayer {"layer":"geom", "node":"http://localhost:7474/db/data/node/###NEW_NODE_ID###"}
Encontrar:
POST /db/data/ext/SpatialPlugin/graphdb/findGeometriesWithinDistance {"layer":"geom","pointX":15.0,"pointY":60.0,"distanceInKm":100.0}