怎么算经纬度和距离呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么算经纬度和距离呢?相关的知识,希望对你有一定的参考价值。

参考技术A

经纬度与距离的换算有以下两种方法:

1、二维转换

二维转换方法是将平面坐标(东坐标和北坐标)从一个坐标系统转换到另一个坐标系统。在转换时不计算高程参数。该转换方法需要确定4个参数(2个向东和向北的平移参数,1个旋转参数和1个比例因子)。如果要保持GPS测量结果独立并且有地方地图投影的信息,那么采用三维转换方法最合适。

2、三维转换

该方法基本操作步骤是利用公共点,也就是同时具有WGS84直角坐标和地方坐标的直角坐标的点位,一般需要3个以上重合点,通过布尔莎模型(或其他模型)进行计算,得到从一个系统转换到另一个系统中的平移参数、旋转参数和比例因子。

坐标转换分类

1、大地坐标(BLH)对平面直角坐标(XYZ)

常规的转换应先确定转换参数,即椭球参数、分带标准(3度,6度)和中央子午线的经度。椭球参数就是指平面直角坐标系采用什么样的椭球基准,对应有不同的长短轴及扁率。画到直角坐标系可以写为(x+z*acosθ,y+z*asinθ)a,θ为参数。

2、北京54全国80及WGS84坐标系的相互转换

一种国际上采用的地心坐标系。坐标原点为地球质心,其地心空间直角坐标系的Z轴指向BIH (国际时间)1984.O定义的协议地球极(CTP)方向,X轴指向BIH 1984.0的零子午面和CTP赤道的交点,Y轴与Z轴、X轴垂直构成右手坐标系,称为1984年世界大地坐标系统。

3、任意两空间坐标系的转换

由于测量坐标系和施工坐标系采用不同的标准,要进行精确转换,必须知道至少3个重合点(即为在两坐标系中坐标均为已知的点。采用布尔莎模型进行求解。

经纬度算距离

$sql=‘select * from users_location where latitude > ‘.$lat.‘-1 and latitude < ‘.$lat.‘+1 and longitude > ‘.$lon.‘-1 and longitude < ‘.$lon.‘+1 order by ACOS(SIN((‘.$lat.‘ * 3.1415) / 180 ) *SIN((latitude * 3.1415) / 180 ) +COS((‘.$lat.‘ * 3.1415) / 180 ) * COS((latitude * 3.1415) / 180 ) *COS((‘.$lon.‘* 3.1415) / 180 - (longitude * 3.1415) / 180 ) ) * 6380 asc limit 10‘

以上是关于怎么算经纬度和距离呢?的主要内容,如果未能解决你的问题,请参考以下文章

怎么知道经纬度算距离,

怎么知道经纬度算距离,

知道经纬度怎么算距离?

sql语句怎么写算坐标经纬度之间的距离?

mysql中怎么根据经纬度计算距离

计算两个经纬度之间的距离