public static (double X, double Y) TransformToCartesianTuple(Wgs84Point wgs84Point, ref ReferenceOriginWgs84Point referenceOrigin)
        {
            var transform = GetCartesianTransform(ref referenceOrigin);
            var rawResult = transform.MathTransform.Transform(new[]
            {
                wgs84Point.Lon,
                wgs84Point.Lat
            });

            return(X : rawResult[0], Y : rawResult[1] + referenceOrigin.ShiftedY);
        }
        public static CartesianPoint TransformToCartesianPoint(Wgs84Point wgs84Point, ref ReferenceOriginWgs84Point referenceOrigin)
        {
            var transform = GetCartesianTransform(ref referenceOrigin);
            var rawResult = transform.MathTransform.Transform(new[]
            {
                wgs84Point.Lon,
                wgs84Point.Lat
            });

            return(new CartesianPoint
            {
                X = rawResult[0],
                Y = rawResult[1] + referenceOrigin.ShiftedY
            });
        }
 public ReferenceOriginWgs84Point(Wgs84Point point)
 {
     Lon = point.Lon;
     Lat = point.Lat;
 }