示例#1
0
        public override Point2 TransformValue(GeographicCoordinate source)
        {
            var p         = Core.TransformValue(source);
            var r         = p.Difference(EvaluationPoint);
            var r2        = new Vector2(r.X * r.X, r.Y * r.Y);
            var constant3 = r.X * r.Y * 2.0;
            var constant4 = r2.X - r2.Y;
            var constant5 = ((-3.0 * r2.Y) + r2.X) * r.X;
            var constant6 = ((3.0 * r2.X) - r2.Y) * r.Y;
            var constant7 = constant3 * 2.0 * constant4;
            var constant8 = (r2.X * r2.Y * -6.0) + (r2.X * r2.X) + (r2.Y * r2.Y);
            var delta     = new Vector2(
                C1
                + (C3 * r.X)
                - (C4 * r.Y)
                - (C6 * constant3)
                + (C5 * constant4)
                + (C7 * constant5)
                - (C8 * constant6)
                + (C9 * constant7)
                + (C10 * constant8),
                C2
                + (C3 * r.Y)
                + (C4 * r.X)
                + (C5 * constant3)
                + (C6 * constant4)
                + (C8 * constant5)
                + (C7 * constant6)
                - (C10 * constant7)
                + (C9 * constant8)
                );

            return(p
                   .Difference(delta)
                   .Add(FalseProjectedOffset));
        }
示例#2
0
        public override Point2 TransformValue(GeographicCoordinate source)
        {
            var p = Core.TransformValue(source);

            return(new Point2(-p.Y, -p.X));
        }