/// <summary> /// Forward projection, from geographic to <see cref="OSGB"/> coordinates. /// </summary> /// <param name="lat"></param> /// <param name="lon"></param> /// <param name="gamma"></param> /// <param name="k"></param> /// <returns></returns> public static (double x, double y) Forward(double lat, double lon, out double gamma, out double k) { var(x, y) = OSGBTM.Forward(OriginLongitude, lat, lon, out gamma, out k); x += FalseEasting; y += NorthOffset; return(x, y); }
/// <summary> /// Reverse projection, from <see cref="OSGB"/> coordinates to geographic. /// </summary> /// <param name="x"></param> /// <param name="y"></param> /// <param name="gamma"></param> /// <param name="k"></param> /// <returns></returns> public static (double lat, double lon) Reverse(double x, double y, out double gamma, out double k) { x -= FalseEasting; y -= NorthOffset; var(lat, lon) = OSGBTM.Reverse(OriginLongitude, x, y, out gamma, out k); return(lat, lon); }