protected IPoint FromSourceEllipsoid(IPoint point, Ellipsoid sourceEllipsoid)
 {
     if (sourceEllipsoid != this.Ellipsoid ||
         sourceEllipsoid.SemiMajorAxis.Value != this.Ellipsoid.SemiMajorAxis.Value ||
         sourceEllipsoid.InverseFlattening != this.Ellipsoid.InverseFlattening)
     {
         return(Transformation.ChangeDatumSimple(point, sourceEllipsoid, this._ellipsoid));
     }
     else
     {
         return(point);
     }
 }
 protected IPoint ToTargetEllipsoid(IPoint point, Ellipsoid targetEllipsoid)
 {
     if (targetEllipsoid != this.Ellipsoid ||
         targetEllipsoid.SemiMajorAxis.Value != this.Ellipsoid.SemiMajorAxis.Value ||
         targetEllipsoid.InverseFlattening != this.Ellipsoid.InverseFlattening)
     {
         return(Transformation.ChangeDatumSimple(point, this._ellipsoid, targetEllipsoid));
     }
     else
     {
         return(point);
     }
 }