本本

态度决定成败

导航

已知某一点的经纬度如:P1(117.123232,31.34343),并给定距离和方向角,计算另外一点P2的经纬度

已知某一点的经纬度如:P1(117.123232,31.34343),并给定距离和方向角,计算另外一点P2的经纬度

 

 

道地球的赤道周长(4万),那么一度就知道多长,而由于纬度的不同需要考虑他与赤道的夹角。如60度就等于赤道的一半。而经度就基本相同的,一圈度长,计算出一度多少就行了!
纬度每隔一度相差111km
经度就要根据你所在的纬度来看 经度每隔一度距离是111km乘以cosA(A是该点所在的纬度),即   经度增加量为10*COS(45度)/(地球周长/360)

意思是难点在于纬度,要转化成弧长,再投影到圆心-北极直径上,计算其纬度, 先用距离换成度数,比较精确

     1、地球的周长几乎都是相等的,所以,都可看成,走过111km 就是走过1度。
     2、计算走过的度数,n=10/111
     3、计算走过的经度,x=cos(45)*n
                         纬度,y=sin(45)*n
     4、所到地经度,X=111+x
                  纬度,Y=22+y


  例如:
        double x = sp.Longitude - 1 / 110.0 * Math.Cos(45);
        double y = sp.Latitude - 1 / 110.0 * Math.Sin(45);

posted on 2011-05-29 21:43  本本  阅读(1787)  评论(1编辑  收藏  举报