使用Neo4j Spatial查找节点

时间:2014-09-24 14:08:39

标签: java neo4j neo4j-spatial

使用Neo4j Spatial核心java api,我已经能够将代码放在一起,允许我在给定点的特定距离内查找节点,但是,我希望能够根据其流域半径包含节点。

例如,如果我位于我所在地区或更远地区的披萨公司可以交付给我的任何给定点(给定自己的交付半径)

关于如何通过Neo4j Spatial实现这一目标的任何想法?

1 个答案:

答案 0 :(得分:1)

您可以将他们的交付半径建模为相关的几何形状,而不是将您的披萨公司建模为地图上的简单点吗?这样可以更好地控制交付形状(例如,不交付给岛屿)。

如果您将交付区域建模为WKT多边形,则可以在以下格式中执行搜索:

START loc = node:idx_bounding_location(withinDistance:[<lat>,<lon>,0.0])
MATCH (pz:Pizza:Company)-[:DELIVERY_AREA]->loc
RETURN pz

在此查询中,lat和lon值是需要披萨传递的人的位置。