0

私の目標は、指定された経度と経度で最も近いノードを見つけることです。Simple Point Layer を作成しfindClosestGeometies、クエリを使用していますが、比較的小規模なデータベースであっても、応答時間がかなり不十分です。以下の操作を実行して、レイヤーを作成します。

:POST /db/data/ext/SpatialPlugin/graphdb/addSimplePointLayer { 
    "layer" : "layerName", 
    "lat" : "NODE_LAT", 
    "lon" : "NODE_LON" 
}

:POST /db/data/index/node {"name":"layerName", "config": 
  {"provider":"spatial", "geometry_type":"point", "lat":"NODE_LAT", "lon":"NODE_LON"}
}

match(n:WAY_NODE) set n.id=ID(n);

次に、単純な Java プログラムを使用して、レイヤーに ~70k ノードを追加し、サンプル クエリを実行しました。

:POST db/data/ext/SpatialPlugin/graphdb/findClosestGeometries { 
    "pointX" : 18.5640344020454,
    "pointY" : 54.4441138296926,
    "distanceInKm" : 1.0, 
    "layer" : "layerName" 
}

動作していますが、各応答には 8 秒ほどかかります。物事をスピードアップする方法はありますか?何を使用すればよいですか?

4

1 に答える 1

0

distance提供されたパラメーター内に多くの場所がある場合、これについてもパフォーマンスがかなり低下することがわかりました。

私の回避策は、かなり小さい距離値から始めることでした。その範囲内に結果がない場合は、値を増やして再試行してください。

于 2016-06-13T09:49:40.080 に答える