C# Class MapAround.CoordinateSystems.Transformations.Wagner6

Implements a Wagner VI (Kavraysky VII) projection transform. Used to display the World Map. Equations of projection are: x = Cx * Lambda * (Ca + (1 - Sqrt(1 - Cb * Phi ^ 2))) y = Cy * Phi The difference between the Kavraysky VII and the Wagner VI is the Cy value. It should be different by Sqrt (3) / 2 times, other things being equal.
Inheritance: MathTransform
显示文件 Open project: gkrsu/maparound.core

Public Methods

Method Description
Inverse ( ) : IMathTransform

Creates the inverse transform of this object.

Invert ( ) : void

Inverts this transform.

Transform ( double point ) : double[]

Transforms a coordinate point.

The passed parameter point should not be modified.

TransformList ( List points ) : List

Transforms a list of coordinate point ordinal values.

This method is provided for efficiently transforming many points. The supplied array of ordinal values will contain packed ordinal values. For example, if the source dimension is 3, then the ordinals will be packed in this order (x0,y0,z0,x1,y1,z1 ...). The size of the passed array must be an integer multiple of DimSource. The returned ordinal values are packed in a similar way. In some DCPs. the ordinals may be transformed in-place, and the returned array may be the same as the passed array. So any client code should not attempt to reuse the passed ordinal values (although they can certainly reuse the passed array). If there is any problem then the server implementation will throw an exception. If this happens then the client should not make any assumptions about the state of the ordinal values.

Wagner6 ( ) : System

Initializes a new instance of the MapAround.CoordinateSystems.Transformations.Wagner6.

Wagner6 ( double Cx, double Cy, double Ca, double Cb ) : System

Initializes a new instance of the MapAround.CoordinateSystems.Transformations.Wagner6.

Private Methods

Method Description
Wagner6 ( bool isInverse ) : System
apply ( double p ) : double[]
applyInverted ( double p ) : double[]
asqrt ( double v ) : double

Method Details

Inverse() public method

Creates the inverse transform of this object.
public Inverse ( ) : IMathTransform
return IMathTransform

Invert() public method

Inverts this transform.
public Invert ( ) : void
return void

Transform() public method

Transforms a coordinate point.
The passed parameter point should not be modified.
public Transform ( double point ) : double[]
point double An array containing the point coordinates to transform
return double[]

TransformList() public method

Transforms a list of coordinate point ordinal values.
This method is provided for efficiently transforming many points. The supplied array of ordinal values will contain packed ordinal values. For example, if the source dimension is 3, then the ordinals will be packed in this order (x0,y0,z0,x1,y1,z1 ...). The size of the passed array must be an integer multiple of DimSource. The returned ordinal values are packed in a similar way. In some DCPs. the ordinals may be transformed in-place, and the returned array may be the same as the passed array. So any client code should not attempt to reuse the passed ordinal values (although they can certainly reuse the passed array). If there is any problem then the server implementation will throw an exception. If this happens then the client should not make any assumptions about the state of the ordinal values.
public TransformList ( List points ) : List
points List Packed ordinates of points to transform
return List

Wagner6() public method

Initializes a new instance of the MapAround.CoordinateSystems.Transformations.Wagner6.
public Wagner6 ( ) : System
return System

Wagner6() public method

Initializes a new instance of the MapAround.CoordinateSystems.Transformations.Wagner6.
public Wagner6 ( double Cx, double Cy, double Ca, double Cb ) : System
Cx double Horizontal scaling
Cy double Vertical scaling
Ca double
Cb double
return System