知道两个点的经纬度怎么算距离
1个回答
展开全部
算起来还挺复杂的
地球的经纬度坐标是球坐标(x,y),x是经度,y是纬度
先把它转换成直角坐标(X,Y,Z)
设地球半径为r
则有转换式:
X=r*cos(y)*cos(x)
Y=r*cos(y)*sin(x)
Z=r*sin(y)
分别得到A(x1,y1),B(x2,y2)两点的直角坐标A(X1,Y1,Z1),B(X2,Y2,Z2)
那么AB两点间直线距离是L=√[(X2-X1)^2+(Y2-Y1)^2+(Z2-Z1)^2]
把上面转换式代入化简可以得到L=r*√[2-2cos(y1)*cos(y2)*cos(x1-x2)-2sin(y1)*sin(y2)]
设AB两点对球心所夹圆心角为θ(弧度),则有L=2r*sin(θ/2)=2r*√[(1-cosθ)/2]=r*√[2*(1-cosθ)]
因此cosθ=1-L^2/(2r^2)=cos(y1)*cos(y2)*cos(x1-x2)+sin(y1)*sin(y2)
那么弧长=r*θ
=r*arccos[cos(y1)*cos(y2)*cos(x1-x2)+sin(y1)*sin(y2)]
这里的经纬度用角度弧度均可,因为都要代入三角函数,但arccos得到的θ必须用弧度
地球的经纬度坐标是球坐标(x,y),x是经度,y是纬度
先把它转换成直角坐标(X,Y,Z)
设地球半径为r
则有转换式:
X=r*cos(y)*cos(x)
Y=r*cos(y)*sin(x)
Z=r*sin(y)
分别得到A(x1,y1),B(x2,y2)两点的直角坐标A(X1,Y1,Z1),B(X2,Y2,Z2)
那么AB两点间直线距离是L=√[(X2-X1)^2+(Y2-Y1)^2+(Z2-Z1)^2]
把上面转换式代入化简可以得到L=r*√[2-2cos(y1)*cos(y2)*cos(x1-x2)-2sin(y1)*sin(y2)]
设AB两点对球心所夹圆心角为θ(弧度),则有L=2r*sin(θ/2)=2r*√[(1-cosθ)/2]=r*√[2*(1-cosθ)]
因此cosθ=1-L^2/(2r^2)=cos(y1)*cos(y2)*cos(x1-x2)+sin(y1)*sin(y2)
那么弧长=r*θ
=r*arccos[cos(y1)*cos(y2)*cos(x1-x2)+sin(y1)*sin(y2)]
这里的经纬度用角度弧度均可,因为都要代入三角函数,但arccos得到的θ必须用弧度
北京埃德思远电气技术咨询有限公司
2023-08-25 广告
2023-08-25 广告
"整定计算的工作步骤,大致如下:1.确定整定方案所适应的系统情况。2.与调度部门共同确定系统的各种运行方式。3.取得必要的参数与资料(保护图纸,设备参数等)。4.结合系统情况,确定整定计算的具体原则。5.进行短路计算。6.进行保护的整定计算...
点击进入详情页
本回答由北京埃德思远电气技术咨询有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询