不同经纬度的两点怎样计算距离
地球是一个近乎标准的椭球体,它的赤道半径为6378.140千米,极半径为
通过经纬度计算距离 如何通过经纬度计算距离
通过经纬度计算距离 如何通过经纬度计算距离
6356.755千米,平均半径6371.004千米。如果我们设地球是一个完美的球体,那么它的半径就是地球的平均半径,记为R。如果以0度经线为基
准,那么根据地球表面任意两点的经纬度就可以计算出这两点间的地表距离(这里忽略地球表面地形对计算带来的误,仅仅是理论上的估算值)。设点A的经
纬度为(LonA,
LatA),第二点B的经纬度为(LonB,
LatB),按照0度经线的基准,东经取经度的正值(Longitude),西经取经度负值(-Longitude),北纬取90-纬度值(90-
Latitude),南纬取90+纬度值(90+Latitude),则经过上述处理过后的两点被计为(MLonA,
MLatA)和(MLonB,
MLatB)。那么根据三角推导,可以得到计算两点距离的如下公式:C
=sin(MLatA如不在赤道上的话,就用这个)sin(MLatB)cos(MLonA-MLonB)
+cos(在高考中地球是被按照理想的球体来考虑的。MLatA)cos(MLatB)Distance
=RArccos(C)Pi/180这里,R和Distance单位是相同,如果是采用6371.004千米作为半径,那么Distance就是千米为单位,如果要使用其他单位,比如mile,还需要做单位换算,1千米=0.621371192mile如果仅对经度作正负的处理,而不对纬度作90-Latitude(设都是北半球,南半球只有澳洲具有应用意义)的处理,那么公式将是:C
=sin(LatA)sin(LatB)
+cos(LatA)cos(LatB)cos(MLonA-MLonB)Distance
=RArccos(C)Pi/180以上通过简单的三角变换就可以推出。如果三角函数的输入和输出都采用弧度值,那么公式还可以写作:C
=sin(LatAPi/180)sin(LatBPi/180)
+cos(LatAPi/180)cos(LatBPi/180)cos((MLonA-MLonB)Pi/180)Distance
=RArccos(C)Pi/180也就是:C
=sin(LatA/57.2958)sin(LatB/57.2958)
+cos(LatA/57.2958)cos(LatB/57.2958)cos((MLonA-MLonB)/57.2958)Distance
=6371.004Arccos(C)
kilometer
=0.6213711926371.004Arccos(C)
=3958.758349716768Arccos(C)
后再根据这些经纬度来计算彼此的距离,从而估算出某些群体之间的大致距离范围(比如酒店旅客的分布范围-各个旅客的邮政编码对应的经纬度和酒店的经纬度所
计算的距离范围-等等),所以,通过邮政编码查询经纬度这样一个数据库是一个很有用的资源。
如何使用excel表计算两个经纬度之间的距离
mile在E2单元格公式:
--------------=6371004ACOS(1-(POWER((SIN((90-B2)PI()/180)COS(A2PI()/180)-SIN((90-D2)PI()/180)COS(C2PI()/180)),2)+POWER((SIN((90-B2)PI()/180)SIN(A2PI()/180)-SIN((90-D2)PI()/180)SIN(C2PI()/180)),2)+POWER((COS((90-B2)PI()/180)-COS((90-D2)PI()/180)),2))/2)
求:excel经纬度转距离公式
=6371000ACOS(COS(RADIANS(SUM(1LEFT(A2,FIND("°",A2)-1),MID(A2,FIND("°",A2)+1,FIND("'",A2)-FIND("°",A2)-1)/60,RIGHT(LEFT(A2,LEN(A2)-1),LEN(A2)-FIND("'",A2)-1)/3600)-SUM(1LEFT(A1,FIND("°",A1)-1),MID(A1,FIND("°",A1)+1,FIND("'",A1)-FIND("°",A1)-1)/60,RIGHT(LEFT(A1,LEN(A1)-1),LEN(A1)-FIND("'",A1)-1)/3600)))COS(RADIANS(SUM(1LEFT(B2,FIND("°",B2)-1),MID(B2,FIND("°",B2)+1,FIND("'",B2)-FIND("°",B2)-1)/60,RIGHT(LEFT(B2,LEN(B2)-1),LEN(B2)-FIND("'",B2)-1)/3600)-SUM(1LEFT(B1,FIND("°",B1)-1),MID(B1,FIND("°",B1)+1,FIND("'",B1)-FIND("°",B1)-1)/60,RIGHT(LEFT(B1,LEN(B1)-1),LEN(B1)-FIND("'",B1)-1)/3600))))
-----------------
A1 : 点经度 B1 :点纬度
Distance = RArccos(C)Pi/180A2 : 第二点经度 B2 :第二点纬度
经纬度题目的关键在与理解和画图,你在纸上画画看,很好理解.纯百度格式:118°19'20" (度分秒的字符不要搞错)
118°19'20" 35°4'4"
118°19'56" 35°4'46"
-----
计算结果是:1708.610943 米
---------------
当然,将地球视作标准圆球
经纬度0.0048是多少米
1. 将经纬度转换为弧度。在赤道上,1经度对应的距离是111千米;在其他纬线上,如果纬度为A,则1经度对应的距离是111COSA千米。
看是不是和恩简单,你自己在纸上画画图标经度来算算看!在经线上,1纬度对应的距离是111千米。
根据地球上任意两点的经纬度计算两点间的距离
地球是一个近乎标准的椭球体,它的赤道半径为6378.140千米,极半径为
6356.755千米,平均半径6371.004千米。如果我们设地球是一个完美的球体,那么它的半径就是地球的平均半径,记为R。如果以0度经线为基
准,那么根据地球表面任意两点的经纬度就可以计算出这两点间的地表距离(这里忽略地球表面地形对计算带来的误,仅仅是理论上的估算值)。设点A的经
纬度为(LonA, LatA),第二点B的经纬度为(LonB,
LatB),按照0度经线的基准,东经取经度的正值(Longitude),西经取经度负值(-Longitude),北纬取90-纬度值(90-
Latitude),南纬取90+纬度值(90+Latitude),则经过上述处理过后的两点被计为(MLonA, MLatA)和(MLonB,
MLatB)。那么根据三角推导,可以得到计算两点距离的如下公式:
C = sin(MLatA)sin(MLatB)cos(MLonA-MLonB) + cos(MLatA)cos(MLatB)
这里,R和Distance单位是相同,如果是采用6371.004千米作为半径,那么Distance就是千米为单位,如果要使用其他单位,比如mile,还需要做单位换算,1千米=0.621371192mile
如果仅对经度作正负的处理,而不对纬度作90-Latitude(设都是北半球,南半球只有澳洲具有应用意义)的处理,那么公式将是:
C = sin(LatA)sin(LatB) + cos(LatA)cos(LatB)cos(MLonA-MLonB)
以上通过简单的三角变换就可以推出。
如果三角函数的输入和输出都采用弧度值,那么公式还可以写作:
C = sin(LatAPi/180)sin(LatBPi/180) + cos(LatAPi/180)cos(LatBPi/180)cos((MLonA-MLonB)Pi/180)
也就是:
C = sin(LatA/57.2958)sin(LatB/57.2958) + cos(LatA/57.2958)cos(LatB/57.2958)cos((MLonA-MLonB)/57.2958)
Distance = RArccos(C) = 6371.004Arccos(C) kilometer = 0.6213711926371.004Arccos(C) mile = 3958.758349716768Arccos(C) mile
在实际应用当中,一般是通过一个个体的邮政编码来查找该邮政编码对应的地区中心的经纬度,然
后再根据这些经纬度来计算彼此的距离,从而估算出某些群体之间的大致距离范围(比如酒店旅客的分布范围-各个旅客的邮政编码对应的经纬度和酒店的经纬度所
计算的距离范围-等等),所以,通过邮政编码查询经纬度这样一个数据库是一个很有用的资源。
附:C#代码:
private const double EARTH_RADIUS = 6378.137;//地球半径
private static double rad(double d)
{return d Math.PI / 180.0;
}public static double GetDistance(double lat1, double lng1, double lat2, double lng2)
{double radLat1 = rad(lat1);
double radLat2 = rad(lat2);
double a = radLat1 - radLat2;
double b = rad(lng1) - rad(lng2);
double s = 2 Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(a/2),2) +
Math.Cos(radLat1)Math.Cos(radLat2)Math.Pow(Math.Sin(b/2),2)));
s = s EARTH_RADIUS;
return s;
}
怎么用经纬度算距离!
2. 计算两个地点在地球上的球面坐标。我晕....
哪有上面说那么麻烦啊,几位一看都不是文科生!!!
楼主说的赤道的距离已经懂是不是指111KM
X经度啊~~~
hX
111mile在实际应用当中,一般是通过一个个体的邮政编码来查找该邮政编码对应的地区中心的经纬度,然
XCOSD=G
D=当地的地理纬度
G=实际距离)
这是同纬度不同经度(赤道除外)
跨纬度的需要构造个三角
比如说AB两点不同经纬度(A经B纬)
那就先算出与A点共线的那条纬度B'的距离,在算A到B'的距离,在用勾股定理就可以知道啦~~
上面几位的不知道在说些什么!华而不实!!有些大虾说明白到又不知道怎么表诉,又不是所有的人都象大虾们那么高智商!!!!!!!!!!!!
经纬度的表示涉及球面坐标的概念
空间坐标系常用的有直角坐标、柱面坐标和球面坐标,三者可以相互转化。
不过从搂主的提问来看是求球面上的距离,而不是空间距离,所以也不用严格的用球面坐标来算。
所以知道了经纬度后只要确定经过已知点的大圆(过球心的圆),然后根据立体几何的二面角计算出他们的圆心角就可以了
已知两个地点的经纬度,算距离
(h=两地经度如果你知道两个地点的经纬度,可以使用地理坐标的球面三角法来计算它们之间的距离。这个距离计算方法基于一个设,即地球是一个完美的球体。
s = Math.Round(s 10000) / 10000;以下是计算步骤:
球面坐标中的距离计算公式如下:
C = sin(MLatA)sin(MLatB)cos(MLonA-MLonB) + cos(MLatA)cos(MLatB)
其中:
C 是两个地点之间的距离。
MLatA 和 MLatB 是将纬度转换后的值。北纬取90-纬度值,南纬取90+纬度值。
MLonA 和 MLonB 是将经度转换后的值。东经取经度的正值,西经取经度负值。
注意:这个公式适用于北半球的情况。对于南半球,需要进行一些调整。
请注意,这个方法是一个近似值,实际距离可能会有一些误。如果需要更的距离,建议使用更复杂的地理信息系统(GIS)软件或数据库。
距离可以用rarccos[cos(y1)cos(y2)cos(x1-x2)+sin(y1)sin(y2)]来算
r是地球半径6370km,x是经度,y是纬度
158.5米。
网上有类似的小软件,但应用也不是很简单。
这是WGS84坐标系下的距离。其它坐标系下的应该不一样,但相很小。
还有一个笨办法:装GOOGLE EARTH,上面可以输坐标,算距离。
已知两地经纬度,求两地距离,要详解
不难办.=RArccos(C)
比如A地东经100北纬60,B地东经120,北纬30,先说明一下,地球的经纬度整体上是曲线相交,但在局部,可以用勾股定理来计算距离.
我们可以设一点C,让C点在东经120,北纬如:60,也就是和A地同维度,与B地同经度,那么AB两点间的距离就是直角三角形的斜边.在这里,因为A、C在北纬60,所以,A、C所在维度圈的半径就是1/2地球半径,即0.5R,A、C经度相20度,那么AC段圆弧长就是AC=(20/360)0.5R,同种方法可以计算出B、C段圆弧长,然后利用勾股定理,AB^2=AC^2+BC^2,搞定.
纬度相一度实际距离相多少千米
3. 使用球面三角法计算两个地点之间的距离。赤道上经度相1°,距离相约111千米。
由赤道向两极经度相1°,距离逐渐缩小。任意纬度纬线上,经度相1°,实地距离相约111cosα千米,α表示纬度数。
经纬度在不同地区,每度距离是不同的,如果定地球是完美的球体的话,纬度为 B 的地区:
纬度变化一度,球面南北方向距离变化:πR/180 ........111.7km 。
经度变化一度,球面东西方向距离变化:πR/180cosB ....111.7cosB。
比如 B = 40、cosB = 0.766,经度变化1度,则东西方向距离变化 85.567km。
经度是指通过某地的经线面与本初子午面所成的二面角。在本初子午线以东的经度叫东经,在本初子午线以西的叫西经。东经用“E”表示,西经用“W”表示。
参考资料
地球的平均半径为6371千米,纬度相一度实际距离的距可以用以下公式计算:
2πr/360
将上述公式进行计算,可得:
$2 times 3.1415926 times 6其中,r为地球半径,π取近似值3.1415926371 / 360 = 111.19492474777779千米$
所以,纬度相一度实际距离相111.19492474777779千米。