已知某一点的经纬度如: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);