使用 sql 计算 2 点之间的距离

本文关键字:之间 距离 sql 计算 使用 | 更新日期: 2023-09-27 17:57:22

我必须计算 2 点之间的距离,X 和 Y 是第一个点的坐标,而 axisX 和 axisY 是第二个点的坐标。我唯一的线索是这个SQL语句,但是这个SQL没有返回我正在寻找的结果。那么谁能帮助我找出我在这个陈述中可能犯的任何错误?

string x = "SELECT TownName,Address,SUBSTRING(X, 1, 2) AS Xaxis, SUBSTRING(Y, 1, 2) AS Yaxis,Type,Availability,Price,Size,Bedrooms,Bathrooms,Contact,Screenshot1,Screenshot2,Screenshot3,Screenshot4 FROM House"+
                                    "WHERE (SQRT(POWER(X - "+axisX+" , 2) + POWER(Y - "+axisY+", 2)) <= 2000)";

使用 sql 计算 2 点之间的距离

SELECT <replace with your select>,
3963.0 * ACOS (
    sin(SUBSTRING(X, 1, 2)/57.2958) * sin(" + axisX + "/57.2958) + cos(SUBSTRING(X, 1, 2)/57.2958) * cos(" + axisX + "/57.2958) * cos(" + axisY + "/57.2958 - SUBSTRING(Y, 1, 2)/57.2958))
as distance
 FROM House
ORDER BY distance

我假设 axisX 和 axisY 是你的坐标。这使用距离计算技术,可以为您提供更准确的读数。

http://www.meridianworlddata.com/Distance-Calculation.asp

希望这有帮助。