我正在使用此代码以 wgs84 格式(变量 co)查找距给定点最近的 nabours
for(Node n : geomPoints){
ExecutionResult result = engine.execute("START a=node(" + n.getId() + ") "+
"MATCH a-[:FIRST_NODE]->()-[:NEXT*0..]->()-[:NODE]->b "+
"RETURN b");
Iterator<Node> nodes = result.columnAs("b");
while(nodes.hasNext()){
Node nodesInGeom = nodes.next();
Float lon = Float.parseFloat(nodesInGeom.getProperty("lon").toString());
Float lat = Float.parseFloat(nodesInGeom.getProperty("lat").toString());
Coordinate coo = new Coordinate(lon,lat);
if(co.distance(coo)<distance) {
distance = co.distance(coo);
nearestNabour = nodesInGeom;
}
}
所以这段代码的重要部分就是这部分
co.distance(coo)
因为有人告诉我这个函数使用欧几里得距离而不是距离,所以我需要 fpr wgs84 格式
所以我的问题是:neo4j satial 中是否有一个函数可以返回正确的距离?
非常感谢