private static CoordinateTransformation Geog2Proj(GeographicCoordinateSystem source, ProjectedCoordinateSystem target)
        {
            if (source.EqualParams(target.GeographicCoordinateSystem))
            {
                var mathTransform = CreateCoordinateOperation(target.Projection,
                                                              target.GeographicCoordinateSystem.HorizontalDatum.Ellipsoid, target.LinearUnit);
                return(new CoordinateTransformation(source, target, TransformType.Transformation, mathTransform,
                                                    string.Empty, string.Empty, -1, string.Empty, string.Empty));
            }

            // Geographic coordinatesystems differ - Create concatenated transform
            var ct    = new ConcatenatedTransform();
            var ctFac = new CoordinateTransformationFactory();

            ct.CoordinateTransformationList.Add(ctFac.CreateFromCoordinateSystems(source, target.GeographicCoordinateSystem));
            ct.CoordinateTransformationList.Add(ctFac.CreateFromCoordinateSystems(target.GeographicCoordinateSystem, target));
            return(new CoordinateTransformation(source,
                                                target, TransformType.Transformation, ct,
                                                string.Empty, string.Empty, -1, string.Empty, string.Empty));
        }