数学,地理问题

来源:百度知道 编辑:UC知道 时间:2024/06/24 16:25:22
我们地理老师前天问了一道题,
如下:
地球上任意两点的距离怎么算?

具体要过程,说详细点。任意两点!

因为地球是圆的所以任意两点之间的距离需要根据三角函数来求解,如果在同一条经线或者纬线那就好算多了。否则要先要求出投影到纬线和经线上的距离再求解。如果在经线上一般一度是110千米左右。纬线上赤道上一度为40000/360千米。其他纬线上就要根据公式算了。详细我可以教教你

假设地球是一个标准球体,半径为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对球心所张角的球法实际上是求<OA>和<OB>两向量的夹角K。
用公式<OA>*<OB>=|OA|*|OB|*cosK
可以得到。

如果是近距离,就当着平面来处理,如果远就应按准确的球面距离来处理.有具体的公式,也可用一些GIS软件有来算:用已知两点的经纬度,高程值.

Copyright (c) 2006 Yongjun ZHENG
! Author : Yongjun ZHENG
! Date : 7/24/2006

!-----------------------------------------------------------------------------
!
! purpose: to calculat