从sqlite数据库中获取最近的坐标

get nearest coordinate from sqlite database

我有一个基于两个双精度值 x0,y0 的点坐标,两者都采用以下格式:xx.x(点作为小数点分隔符)

在数据库中,我有一个行列表,这些行由坐标 x1,y1 定义为起点,坐标 x2,y2 定义为终点。在数据库中的其他列(例如线宽等)中,有这些列:

id | x1 | y1 | x2 | y2

我需要的是 returns 任何一条线的星点 (x1,y1) 或端点 (x2,y2) 离我的基点 (x0,y0) 最近的查询。所以开始或结束最接近我当前位置的线。

谢谢

SQLite没有平方根函数,但是为了比较距离,我们也可以使用距离的平方:

SELECT *
FROM MyTable
ORDER BY min((x1-x0)*(x1-x0) + (y1-y0)*(y1-y0),
             (x2-x0)*(x2-x0) + (y2-y0)*(y2-y0))
LIMIT 1