经纬度之间距离怎么算?

Posted

tags:

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

参考技术A

经纬度之间的距离计算如下:

计算地球上经纬之间的距离d,知道地球上两点的经纬度:(x1,Y1),(X2,Y2),其中x1,X2为经纬度,Y1,Y2为经纬度;

如果地球半径为r=6371.0公里,则两点之间的距离为d=r*Arcos[cos(Y1)*cos(Y2)*cos(x1-x2)+sin(Y1)*sin(Y2)]。

假设我国极影出现的最短时间为中午13:20,杆长与影长之比为为1,则可以看出该地区为北纬45°(TGα=1),东经100°(从120°到1小时减15°,在表A中需要找到4分钟减去1°的杆长与影长为长度的比值。

计算双日经度的算法是在北半球冬至α+ 23.5°和夏至α- 23.5°的任何一天中增加和减去恒定纬度的校正值。

扩展资料:

经纬度划分:

经度被分为360度,每15度有一个时区,其中零度称为本初子午线,是进入新一天的第一个地方,然后向西的每个时区有一个时差。

例如,早上5点,西边的时区是凌晨4点,另一个要经过的时区是凌晨3点,以此类推。在东边,它与原来的子午线相反。

赤道的纬度是0度,行星平均分为南半球和北半球。纬度是指一个点与地球中心和地球赤道之间的线角,其值在0到90度之间。赤道以北点的纬度称为北纬,记为N,赤道以南点的纬度记为S。

纬度在0到30度之间的地区称为低纬度地区,纬度在30到60度之间的地区称为中纬度地区,纬度在60到90度之间的地区称为高纬度地区。

参考资料来源:百度百科-经纬度

用java写:求地球上任意两个点之间的距离,知道这两个点的经纬度

北京 116.407288 39.904549
北京市;东城区;台基厂头条东160米;中国太平洋经济合作全国委员会;中国军控与裁军协会;

陕西 108.952736 34.264648
陕西省;西安市;新城区;新城国际(西安)东南110米;ATM(中国银行)西南110米;陕西三力工贸公司公共安全工程部东南90米;
你看看这两个点的距离是多少???
下边是我查到的东西。。。我算出来的和awnhdy给的公式算出来的差距挺大。。。。
北京西到西安铁路距离1200公里。
2 北京火车站---西安火车站地图直线距离929.1公里。

3 公路距离(北京火车站---西安火车站):
总距离962.04公里

double radius=6371000;
double distance=radius*Math.acos((Math.cos(lat2)*Math.cos(lat2)*Math.cos(lon1-lon2)+Math.sin(lat1)*Math.sin(lat2)));
这是我的计算公式,在java里,结果是5995217.512567182m

距离可以用r*arccos[cos(y1)*cos(y2)*cos(x1x2)+sin(y1)*sin(y2)]来算
r是地球半径6370km,x是经度,y是纬度

注意角度单位的转换。Math类里的sin和cos函数的参数是以弧度为单位的角度,所以x1、x2、y1、y2要用弧度表示,但一般经纬度都是用角度表示(如X1=120 东经120度)就要化成弧度(x1*Pi/180)
而acos函数返回值正好是以弧度为单位的,刚好符合要求

如果你的代码里的lat1、lat2、lon1、lon2单位是角度,可以这么改
double radius=6371000;
double distance=radius*Math.acos((Math.cos(lat2*Math.PI/180)*Math.cos(lat2*Math.PI/180)*Math.cos(lon1*Math.PI/180-lon2*Math.PI/180)+Math.sin(lat1*Math.PI/180)*Math.sin(lat2*Math.PI/180)));

我算出来是903.9千米
参考技术A 北京 116.407288 39.904549
北京市;东城区;台基厂头条东160米;中国太平洋经济合作全国委员会;中国军控与裁军协会;

陕西 108.952736 34.264648
陕西省;西安市;新城区;新城国际(西安)东南110米;ATM(中国银行)西南110米;陕西三力工贸公司公共安全工程部东南90米;
你看看这两个点的距离是多少???
下边是我查到的东西。。。我算出来的和awnhdy给的公式算出来的差距挺大。。。。
北京西到西安铁路距离1200公里。
2 北京火车站---西安火车站地图直线距离929.1公里。

3 公路距离(北京火车站---西安火车站):
总距离962.04公里
参考技术B 如果是同一纬度的话:纬度差.111.cos纬度数
否者没有纬度算不了

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

怎么知道经纬度算距离,

知道经纬度怎么算距离?

怎么算经纬度和距离呢?

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

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

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