/// <summary> /// Transforms a coordinate point. The passed parameter point should not be modified. /// </summary> /// <param name="point"></param> /// <returns></returns> public override SharpMap.Geometries.Point Transform(SharpMap.Geometries.Point point) { SharpMap.Geometries.Point pOut = point.Clone(); pOut.X /= SourceGCS.AngularUnit.RadiansPerUnit; pOut.X -= SourceGCS.PrimeMeridian.Longitude / SourceGCS.PrimeMeridian.AngularUnit.RadiansPerUnit; pOut.X += TargetGCS.PrimeMeridian.Longitude / TargetGCS.PrimeMeridian.AngularUnit.RadiansPerUnit; pOut.X *= SourceGCS.AngularUnit.RadiansPerUnit; return(pOut); }
public override SharpMap.Geometries.Point Transform(SharpMap.Geometries.Point point) { if (point is SharpMap.Geometries.Point3D) { SharpMap.Geometries.Point pnt = (point as SharpMap.Geometries.Point3D).Clone(); foreach (ICoordinateTransformation ct in _CoordinateTransformationList) { pnt = ct.MathTransform.Transform(pnt); } return(pnt); } else { SharpMap.Geometries.Point pnt = point.Clone(); foreach (ICoordinateTransformation ct in _CoordinateTransformationList) { pnt = ct.MathTransform.Transform(pnt); } return(pnt); } }