C# Class MapAround.CoordinateSystems.Transformations.Gnomonic

Implements a gnomonic projection. Gnomonic projection is used to bring the topological problems in the sphere to the problems on the plane. This reduction is possible if the envelope of data is less than a hemisphere.
Inheritance: MathTransform
显示文件 Open project: gkrsu/maparound.core

Public Methods

Method Description
Gnomonic ( ) : System

Initializes a new instance of the MapAround.CoordinateSystems.Transformations.Gnomonic. Center (contact point) is the North Pole.

Gnomonic ( double centerLongitude, double centerLatitude ) : System

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

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.

Private Methods

Method Description
Gnomonic ( bool isInverse ) : System
apply ( double p ) : double[]
applyInverted ( double p ) : double[]
asqrt ( double v ) : double
getMinEntryIndex ( double values ) : int

Method Details

Gnomonic() public method

Initializes a new instance of the MapAround.CoordinateSystems.Transformations.Gnomonic. Center (contact point) is the North Pole.
public Gnomonic ( ) : System
return System

Gnomonic() public method

Initializes a new instance of the MapAround.CoordinateSystems.Transformations.Gnomonic.
public Gnomonic ( double centerLongitude, double centerLatitude ) : System
centerLongitude double Longitude of projection center in degrees
centerLatitude double Latitude of projection center in degrees
return System

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