sql语句怎么写算坐标经纬度之间的距离?我是mysql数据库。 请详细点!谢谢!

sql语句怎么写算坐标经纬度之间的距离?我是mysql数据库。 请详细点!谢谢!,第1张

你可以在系统中创建一个二维数组,把每个坐标作为一个二维数组存储起来,写一个方法,输入2个坐标的时候,自动计算两个坐标之间的距离。

比如我的坐标是:2,3;你的坐标是4,6

那么定义一个方法:

public double getDistance(double x1,double y1,double x2,double y2){

double a = Math.abs(x1-x2)//绝对值

double b = Math.abs(y1-y2)//绝对值

return Math.hypot(a,b)//返回两者的平方和的开根

}

用mysql查询能计算空间坐标,返回指定范围内的点

变换一下坐标系,在新坐标系中让长方形ABCD的某个顶点(比如A点)的坐标为(0,0,0),与其相邻的两个顶点(B和D)的坐标为(0,0,b)和(d,0,0),即让长方形在新坐标系中的x-z平面上,A点在原点,B点在z轴上,D点在x轴上,若空间点在新坐标系中坐标为(x″,y″,z″),如果0≤x″≤d 且 0≤z″≤b 则空间点在ABCD平面的投影在长方形ABCD内.(含在长方形的边上,如果不允许在长方形边上,则要求0

注:

网上有很多的方法,但是最终结果都有很大的差异,对于半径取值(地球赤道半径6378.137千米,极半径6356.752千米,平均半径约6371千米)根据自己需求进行定义计算结果应与其他地图软件进行对比,保证数值正确


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6105886.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存