问题如下:我知道A点的经纬度坐标,同时也知道A点到B点的距离以及A点到B点的方向,如何求出B点的经纬度坐标,能不能实现,希望各位指点一下,不胜感激。分数不够我再加,希望数学高手、.net高手不吝赐教。

解决方案 »

  1.   

    1.楼主好像在说直线距离,那么每一个经纬之间的距离是规定好了的,它们本来就是将地球平分
    2.如果是直线距离,那就是简单的数学了。结合math.cos及math.sin应该不难算出来
      

  2.   

    这个是已知两点求距离的,你看看有没有帮助希望对你有点帮助!   
      '----------------------------------------------------------------------   
      '已知经纬度求距离的函数   
      '----------------------------------------------------------------------   
      Function   Countdistance(ByVal   lon1   As   Double,   ByVal   lat1   As   Double,   ByVal   lon2   As   Double,   ByVal   lat2   As   Double)   As   Double   
      Dim   d   As   Double   
      Dim   a1,   a2,   b1,   b2   As   Double   
      a1   =   lat1   *   0.0174532925194   
      a2   =   lat2   *   0.0174532925194   
      b1   =   lon1   *   0.0174532925194   
      b2   =   lon2   *   0.0174532925194   
      Countdistance   =   ArcCos(Math.Cos(a1)   *   Math.Cos(a2)   *   Math.Cos(b1)   *   Math.Cos(b2)   +   Math.Cos(a1)   *   Math.Sin(b1)   *   Math.Cos(a2)   *   Math.Sin(b2)   +   Math.Sin(a1)   *   Math.Sin(a2))   *   6371   
        
      End   Function   
        
      Public   Function   ArcCos(ByVal   X   As   Double)   As   Double   
      If   CStr(X)   =   "1"   Then   
            ArcCos   =   0   
            Exit   Function   
      ElseIf   CStr(X)   =   "-1"   Then   
            ArcCos   =   3.14159265358979   
            Exit   Function   
      Else   
            ArcCos   =   Atn(-X   /   Sqr(-X   *   X   +   1))   +   2   *   Atn(1)   
      End   If   
      End   Function
      

  3.   

           |        . B
           |       /
           |      /
           |     /
           |    /
           |   /
           |  /
           | /-------
          A.         x
    已知A点坐标,BAX的角度,AB的距离.B 点的经度应该是 A.经度+(-) AB * COS(BAX)
    B 点的纬度应该是 B.纬度+(-) AB * Sin(BAX)难道真的这么简单?
      

  4.   

    我也遇到相似的问题,各位大大帮我看下:
    已知A,B两点的经纬度,求A点相对于B点的方向