2017-01-09 7 views
0

グラフデータベースにOSMデータをロードしています。私はその上にレイヤー(シンプルポイントレイヤー)を作成して、グラフdbからすべてのポイントをロードしました。すべてのポイントをレイヤーに追加した後、私はあるキロメートルの距離で最も近いポイントを見つけることができました。 しかし、私は特定のポイントの前後にポイントを与えるオプションを理解することができません。この問題を解決するための手がかりを教えてください。Neo4j空間 - 方法の特定の点の前後の点を見つける

+0

BTW:オープンソースのルーティングエンジンであるGraphHopperを使っても、最近傍やルーティングを含むすべての問題を解決できます(注:私は著者の一人です) – Karussell

答えて

0

Neo4j Spatialで使用可能なOSMインポータを使用した場合は、ノードを途中で接続する:NEXTの関係があります。したがって、:NEXTの関係に従って、ノード(ポイント)をトラバースすることができます。例えば:

// find node within 1m of a point 
CALL spatial.withinDistance('geom', 
{latitude: 37.563440, longitude: -122.322265}, 1) YIELD node AS p 
// traverse graph to find next point in the way 
MATCH (p)-[:NEXT]->(nextPoint) 
RETURN nextPoint 
関連する問題