空间坐标两点之间的距离公式(空间坐标轴两点间距离公式)
空间坐标两点之间的距离公式(空间坐标轴两点间距离公式),本文通过数据整理汇集了空间坐标两点之间的距离公式(空间坐标轴两点间距离公式)相关信息,下面一起看看。
空间两点坐标距离公式(立体坐标系两点间距离公式)我们在做地图开发的时候,经常会遇到求两坐标点之间的距离的问题,比如:求打车人的周边,有哪些最近的快车。首先我们就必须得
我们在做地图开发的时候,经常会遇到求两坐标点之间的距离的问题,比如:求打车人的周边,有哪些最近的快车。首先我们就必须得到快车与打车人之间的距离。
假设A点经纬度为Lat1 Lng1 ,B点经纬度为Lat2 Lng2 ;
要求这个距离,如果在一个平面上,还是比较方便的:
距离2 = (Lat1-Lat2)2+( Lng1- Lng2)2
距离 = [ (A点经度 - B点经度)^2 + (A点纬度 - B点纬度)^2 ] ^ (1/2)
公式说明:加 + ,减 - ,乘 *,除 /,幂运算 ^(1/2)表示平方根 ,^2表示平方。
--------------------------------------------------------------------------分割线------------------------------------------------------------------------------------
但考虑到地球本身并不是一个平面,地球的表面是有弧度的。我们这时候就必须引入一个常量,地球的半径:6378.137,单位为千米;
两点间的距离公式为:
2*6378.137*asin(sqrt(pow(sin(pi*(lat1-lat2)/360),2)+cos(pi*lat1/180)*cos(lat2*pi/180)*pow(sin(pi*(lng1 - lng2)/360),2)))
那么,就可以根据上面公式从数据库中查出到给定gps坐标距离最近的20个地点
表名:tb_area
表结构
===================================================
id === aname (地点名称)=== blng (纬度)=== blat(经度)
===================================================
$alat = $_GET["alat"];//给定地点的经度
$alng = $_GET["alng"];//给定地点的纬度
mysql中的sql语句为:
select aname,(2*6378.137*ASIN(SQRT(POW(SIN(PI*(".$alat." - blat)/360),2)+COS(PI* ".$alat." /180)*COS(blat *PI()/180)*POW(SIN(PI*(".$alng." - blng)/360),2)))) as dist from tb_area order by dist asc limit 0, 20
以上sql语句的场景之一,根据某人的实时坐标,从数据库中获得距离他最近的20个商店。
在打车应用中,除了某人的坐标点是实时的,附近的车辆坐标也是实时的,而不是存在数据库中不变的数值,计算比起上面又要复杂了,但其原理基本是一样的。
更多空间坐标两点之间的距离公式(空间坐标轴两点间距离公式)相关信息请关注本站。