V2 Requests

Topics: SharpMap v2.0
Coordinator
May 29, 2008 at 9:04 PM
can we add/mod the following in GeoAPI:

added to GeoAPI


using System;
using System.Collections.Generic;
using System.Text;

namespace GeoAPI.CoordinateSystems.Transformations
{
    public interface ICoordinateTransformationFactory
    {
        /// <summary>
        /// Creates a transformation between two coordinate systems.
        /// </summary>
        /// <remarks>
        /// This method will examine the coordinate systems in order to construct
        /// a transformation between them. This method may fail if no path between
        /// the coordinate systems is found, using the normal failing behavior of
        /// the DCP (e.g. throwing an exception).</remarks>
        /// <param name="source">Source coordinate system</param>
        /// <param name="target">Target coordinate system</param>
        /// <returns></returns>
        ICoordinateTransformation CreateFromCoordinateSystems(ICoordinateSystem source, ICoordinateSystem target);
    }
}

}mod in GeoAPI 

using System;
using GeoAPI.Coordinates;
using NPack.Interfaces;

namespace GeoAPI.CoordinateSystems.Transformations
{
    /// <summary>
    /// Creates coordinate transformations.
    /// </summary>
    public interface ICoordinateTransformationFactory<TCoordinate> : ICoordinateTransformationFactory
        where TCoordinate : ICoordinate<TCoordinate>, IEquatable<TCoordinate>,
                            IComparable<TCoordinate>, IConvertible,
                            IComputable<Double, TCoordinate>
    {
        /// <summary>
        /// Creates a transformation between two coordinate systems.
        /// </summary>
        /// <remarks>
        /// This method will examine the coordinate systems in order to construct
        /// a transformation between them. This method may fail if no path between
        /// the coordinate systems is found, using the normal failing behavior of
        /// the DCP (e.g. throwing an exception).</remarks>
        /// <param name="source">Source coordinate system</param>
        /// <param name="target">Target coordinate system</param>
        /// <returns></returns>
        new ICoordinateTransformation<TCoordinate> CreateFromCoordinateSystems(ICoordinateSystem<TCoordinate> source, ICoordinateSystem<TCoordinate> target);
    }
}

another mod  in Proj.Net

using System;
using System.Collections.Generic;
using System.Globalization;
using GeoAPI.Coordinates;
using GeoAPI.CoordinateSystems;
using GeoAPI.CoordinateSystems.Transformations;
using GeoAPI.Geometries;
using NPack;
using NPack.Interfaces;
using ProjNet.CoordinateSystems.Projections;

namespace ProjNet.CoordinateSystems.Transformations
{
    /// <summary>
    /// Creates coordinate transformations.
    /// </summary>
    public partial class CoordinateTransformationFactory<TCoordinate> : ICoordinateTransformationFactory<TCoordinate>
        where TCoordinate : ICoordinate<TCoordinate>, IEquatable<TCoordinate>,
                            IComparable<TCoordinate>, IConvertible,
                            IComputable<Double, TCoordinate>
    {
        #region ICoordinateTransformationFactory Members

        public ICoordinateTransformation CreateFromCoordinateSystems(ICoordinateSystem source, ICoordinateSystem target)
        {
            return CreateFromCoordinateSystems((ICoordinateSystem<TCoordinate>)source, (ICoordinateSystem<TCoordinate>)target);
        }

        #endregion
    }
}