You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Neo4j空间查询得到错误距离的问题排查

问题根源:坐标参数顺序颠倒

你在创建Location节点时,颠倒了point函数中latitude和longitude的参数值,导致Neo4j计算的距离与在线工具结果不符。

具体分析

  • Neo4j的point({latitude: ..., longitude: ...})要求:latitude对应纬度(范围-90°90°),`longitude`对应经度(范围-180°180°)。
  • 你的创建语句中,把实际的经度值(77.xx)赋值给了latitude,实际的纬度值(12.xx/13.xx)赋值给了longitude。这让Neo4j判定两个点的纬度差约1°、经度几乎一致,计算出的距离约111公里(纬度每度的近似距离)。
  • 而在线计算器使用了正确的坐标对应关系(纬度12.xx/13.xx,经度77.xx),此时两个点经度差约1°,在高纬度区域,经度每度的距离会因纬度余弦值缩小,最终结果约23.7公里。

修正后的创建语句

CREATE p = (:Location {location: point({latitude: 12.958174189153517, longitude: 77.74457111606239})})
RETURN p

CREATE p = (:Location {location: point({latitude: 13.958174189153517, longitude: 77.744577645})})
RETURN p

使用你原本的查询语句重新计算,结果就会和在线工具的23.71公里匹配。

内容的提问来源于stack exchange,提问作者Vishal Jamdade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 23:05:26