我的目标是通过给定的经度和经度找到最近的节点。我创建了简单点层并且我正在使用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 秒。有没有办法加快速度?任何想法我应该使用什么?