已知a、b、c三点的经纬度,怎么求出c与a、b两点连线的距离和交点d的经纬度坐标?

已知a、b、c三点的经纬度,怎么求出c与a、b两点连线的距离和交点d的经纬度坐标?
可将a、b、c三点认为是地球上的点,需要给出a、b两点连线的直线方程(以经纬度为参数表示),以及c点到该直线的距离和与a-b直线交点d的计算公式(以经纬度为参数表示).a[ja,wa],b[jb,wb],c[jc,wc],[ja、jb、jc、jd为a、b、c、d点的经度,wa、wb、wc、wd为a、b、c、d点的纬度]
请提供帮助者注意:要求的是第3点c到a、b两点连线的距离,和从c向a、b连线的垂线的交点d的经纬度坐标及相关的计算公式。
a、b、c三点的经纬度已知。地球半径为R。
多谢!
慵懒的毛 1年前 已收到2个回答 举报

hitliuyun 幼苗

共回答了21个问题采纳率:95.2% 举报

假设地球是一个标准球体,半径为R,并且假设东经为正,西经为负,北纬为正,南纬为负,
则 A(x,y)的坐标可表示为(R*cosy*cosx,R*cosy*sinx,R*siny)
B(a,b)可表示为(R*cosb*cosa,R*cosb*sina,R*sinb)
于是,AB对于球心所张的角的余弦大小为
cosb*cosy*(cosa*cosx+sina*sinx)+sinb*siny=cosb*cosy*cos(a-x)+sinb*siny
因此AB两点的球面距离为
R*{arccos[cosb*cosy*cos(a-x)+sinb*siny]}
注:1.x,y,a,b都是角度,最后结果中给出的arccos因为弧度形式.
2.所谓的“东经为正,西经为负,北纬为正,南纬为负”是为了计算的方便.
比如某点为西京145°,南纬36°,那么计算时可用(-145°,-36°)
3.AB对球心所张角的球法实际上是求和两向量的夹角K.
用公式*=|OA|*|OB|*cosK
可以得到.

1年前

1

shf009 幼苗

共回答了27个问题 举报

idnw

1年前

0
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 1.223 s. - webmaster@yulucn.com