/// <summary>
        /// Transforms a <see cref="GeoAPI.Geometries.Coordinate"/>.
        /// </summary>
        /// <param name="c">Point to transform</param>
        /// <param name="from">Source Projection</param>
        /// <param name="to">Target Projection</param>
        /// <returns>Transformed coordinate</returns>
        public static Coordinate TransformCoordinate(Coordinate c, ProjectionInfo from, ProjectionInfo to)
        {
            var xy = c.ToDoubleArray();
            double[] z = !Double.IsNaN(c.Z) ? new double[1] : null;

            Reproject.ReprojectPoints(xy, z, from, to, 0, 1);
            return new Coordinate(xy[0], xy[1]) {Z = z != null ? z[0] : Coordinate.NullOrdinate};

        }
예제 #2
0
 /// <summary>
 /// Function to transform a <paramref name="c"/> using <paramref name="transform"/>
 /// </summary>
 /// <param name="c">The coordinate</param>
 /// <param name="transform">The transformation</param>
 /// <returns>A transformed coordinate</returns>
 public static Coordinate TransformCoordinate(Coordinate c, IMathTransform transform)
 {
     var ordinates = transform.Transform(c.ToDoubleArray());
     return new Coordinate(ordinates[0], ordinates[1]);
 }
        /// <summary>
        /// Function to transform a <paramref name="c"/> using <paramref name="transform"/>
        /// </summary>
        /// <param name="c">The coordinate</param>
        /// <param name="transform">The transformation</param>
        /// <returns>A transformed coordinate</returns>
        public static Coordinate TransformCoordinate(Coordinate c, IMathTransform transform)
        {
#if PCL
            var ordinates = transform.Transform(c);
            return new Coordinate(ordinates);
#else
            var ordinates = transform.Transform(c.ToDoubleArray());
            return new Coordinate(ordinates[0], ordinates[1]);
#endif
        }