/// <summary> /// 纬度 距离 按照地球是完美的球体计算 /// </summary> /// <returns></returns> public static double GetLatitudeDistance(DegreeMinuteSecondInfo degree) { if (degree == null) { return 0d; } return degree.Degree * 111d + degree.Minute * 1.85 + degree.Second * 0.0309; }
/// <summary> /// 将 度 分 秒 转换为 经纬度 /// </summary> /// <param name="degree">度分秒</param> /// <returns>因为计算时小数位保留的原因,导致正反计算存在一定误差,但误差影响不是很大。1秒的误差就是几米的样子</returns> public static double GetCoordinate(DegreeMinuteSecondInfo degree) { if (degree == null) { return 0d; } return degree.Degree + (degree.Minute / 60) + (degree.Second / 3600); }