比如我的坐标是: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千米)根据自己需求进行定义计算结果应与其他地图软件进行对比,保证数值正确
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)