求弧长:已知 地球上的两点 他们的 经度 和 纬度如何求他们之间的距离(弧长)

解决方案 »

  1.   

    经度 和 纬度1)谁知道地球的经度 和 纬度是如何定义的?2)已知 地球上的两点 他们的 经度 和 纬度如何求他们之间的距离 ;已知条件是经度 和 纬度
    如何转成 空间中 两点的 x,y,z 比如一个说 M:东经156度北纬 65度  ;N: 西经16度  南纬78 度 怎么求啊告诉我方法我自己写程序
      

  2.   

    设R为地球半径
    1 根据经纬度(u,v)求球坐标(sit,fai),例如:经度 u(东经为正、西经为负),纬度v(北纬正、南纬负)
      sit=u
      fai=90度-v
    2 先转换球坐标(sit,fai)到直角坐标(x,y,z)
      x=R*sin(fai)*cos(sit)
      y=R*sin(fai)*sin(sit)
      z=R*cos(fai)
      用以上两步把两点的经纬度(u1,v1)、(u2,v2)转化为直角坐标(x1,y1,z1)、(x2,y2,z2)
      则两点的直线距离d=Sqrt[(x1-x2)**2+(y1-y2)**2+(z1-z2)**2]
      球面最短距离gh=R*arccos[(x1*x2+y1*y2+z1*z2)/Sqrt((x1**2+y1**2+z1**2)*(x2**2+y2**2+z2**2))]
    注意:Sqrt是平方根;arccos是反余弦