C# Class SharpMap.CoordinateSystems.Projections.MapProjection

Projections inherit from this abstract class to get access to useful mathematical functions.
Inheritance: SharpMap.CoordinateSystems.Transformations.MathTransform, IProjection
显示文件 Open project: jumpinjackie/fdotoolbox Class Usage Examples

Protected Properties

Property Type Description
_Parameters List
_e double
_es double
_inverse SharpMap.CoordinateSystems.Transformations.MathTransform
_isInverse bool
_isSpherical bool
_semiMajor double
_semiMinor double

Private Properties

Property Type Description

Public Methods

Method Description
DegreesToMeters ( SharpMap lonlat ) : SharpMap.Geometries.Point
EqualParams ( object obj ) : bool

Checks whether the values of this instance is equal to the values of another instance. Only parameters used for coordinate system are used for comparison. Name, abbreviation, authority, alias and remarks are ignored in the comparison.

GetParameter ( int Index ) : ProjectionParameter
GetParameter ( string name ) : ProjectionParameter

Gets an named parameter of the projection.

The parameter name is case insensitive

Invert ( ) : void

Reverses the transformation

MetersToDegrees ( SharpMap p ) : SharpMap.Geometries.Point
Transform ( SharpMap cp ) : SharpMap.Geometries.Point
TransformList ( List ord ) : List

Protected Methods

Method Description
CUBE ( double x ) : double

Returns the cube of a number.

GMAX ( double &A, double &B ) : double

GMIN ( double &A, double &B ) : double

IMOD ( double A, double B ) : double

IMOD

LatitudeToRadians ( double y, bool edge ) : double

Converts a latitude value in degrees to radians.

LongitudeToRadians ( double x, bool edge ) : double

Converts a longitude value in degrees to radians.

MapProjection ( List parameters ) : System
MapProjection ( List parameters, bool isInverse ) : System
QUAD ( double x ) : double

Returns the quad of a number.

adjust_lon ( double x ) : double

asinz ( double con ) : double

Function to eliminate roundoff errors in asin

calc_utm_zone ( double lon ) : long

Function to calculate UTM zone number--NOTE Longitude entered in DEGREES!!!

e0fn ( double x ) : double

Functions to compute the constants e0, e1, e2, and e3 which are used in a series for calculating the distance along a meridian. The input x represents the eccentricity squared.

e1fn ( double x ) : double

e2fn ( double x ) : double

e3fn ( double x ) : double

e4fn ( double x ) : double

Function to compute the constant e4 from the input of the eccentricity of the spheroid, x. This constant is used in the Polar Stereographic projection.

mlfn ( double e0, double e1, double e2, double e3, double phi ) : double

Function computes the value of M which is the distance along a meridian from the Equator to latitude phi.

msfnz ( double eccent, double sinphi, double cosphi ) : double

Function to compute the constant small m which is the radius of a parallel of latitude, phi, divided by the semimajor axis.

phi1z ( double eccent, double qs, long &flag ) : double

phi2z ( double eccent, double ts, long &flag ) : double

Function to compute the latitude angle, phi2, for the inverse of the Lambert Conformal Conic and Polar Stereographic projections.

qsfnz ( double eccent, double sinphi, double cosphi ) : double

Function to compute constant small q which is the radius of a parallel of latitude, phi, divided by the semimajor axis.

sign ( double x ) : double

Function to return the sign of an argument

sincos ( double val, double &sin_val, double &cos_val ) : void

Function to calculate the sine and cosine in one call. Some computer systems have implemented this function, resulting in a faster implementation than calling each function separately. It is provided here for those computer systems which don`t implement this function

tsfnz ( double eccent, double phi, double sinphi ) : double

Function to compute the constant small t for use in the forward computations in the Lambert Conformal Conic and the Polar Stereographic projections.

Method Details

CUBE() protected static method

Returns the cube of a number.
protected static CUBE ( double x ) : double
x double
return double

DegreesToMeters() public abstract method

public abstract DegreesToMeters ( SharpMap lonlat ) : SharpMap.Geometries.Point
lonlat SharpMap
return SharpMap.Geometries.Point

EqualParams() public method

Checks whether the values of this instance is equal to the values of another instance. Only parameters used for coordinate system are used for comparison. Name, abbreviation, authority, alias and remarks are ignored in the comparison.
public EqualParams ( object obj ) : bool
obj object
return bool

GMAX() protected static method

protected static GMAX ( double &A, double &B ) : double
A double
B double
return double

GMIN() protected static method

protected static GMIN ( double &A, double &B ) : double
A double
B double
return double

GetParameter() public method

public GetParameter ( int Index ) : ProjectionParameter
Index int
return SharpMap.CoordinateSystems.ProjectionParameter

GetParameter() public method

Gets an named parameter of the projection.
The parameter name is case insensitive
public GetParameter ( string name ) : ProjectionParameter
name string Name of parameter
return SharpMap.CoordinateSystems.ProjectionParameter

IMOD() protected static method

IMOD
protected static IMOD ( double A, double B ) : double
A double
B double
return double

Invert() public method

Reverses the transformation
public Invert ( ) : void
return void

LatitudeToRadians() protected static method

Converts a latitude value in degrees to radians.
protected static LatitudeToRadians ( double y, bool edge ) : double
y double The value in degrees to to radians.
edge bool If true, -90 and +90 are valid, otherwise they are considered out of range.
return double

LongitudeToRadians() protected static method

Converts a longitude value in degrees to radians.
protected static LongitudeToRadians ( double x, bool edge ) : double
x double The value in degrees to convert to radians.
edge bool If true, -180 and +180 are valid, otherwise they are considered out of range.
return double

MapProjection() protected method

protected MapProjection ( List parameters ) : System
parameters List
return System

MapProjection() protected method

protected MapProjection ( List parameters, bool isInverse ) : System
parameters List
isInverse bool
return System

MetersToDegrees() public abstract method

public abstract MetersToDegrees ( SharpMap p ) : SharpMap.Geometries.Point
p SharpMap
return SharpMap.Geometries.Point

QUAD() protected static method

Returns the quad of a number.
protected static QUAD ( double x ) : double
x double
return double

Transform() public method

public Transform ( SharpMap cp ) : SharpMap.Geometries.Point
cp SharpMap
return SharpMap.Geometries.Point

TransformList() public method

public TransformList ( List ord ) : List
ord List
return List

adjust_lon() protected static method

protected static adjust_lon ( double x ) : double
x double
return double

asinz() protected static method

Function to eliminate roundoff errors in asin
protected static asinz ( double con ) : double
con double
return double

calc_utm_zone() protected static method

Function to calculate UTM zone number--NOTE Longitude entered in DEGREES!!!
protected static calc_utm_zone ( double lon ) : long
lon double
return long

e0fn() protected static method

Functions to compute the constants e0, e1, e2, and e3 which are used in a series for calculating the distance along a meridian. The input x represents the eccentricity squared.
protected static e0fn ( double x ) : double
x double
return double

e1fn() protected static method

protected static e1fn ( double x ) : double
x double
return double

e2fn() protected static method

protected static e2fn ( double x ) : double
x double
return double

e3fn() protected static method

protected static e3fn ( double x ) : double
x double
return double

e4fn() protected static method

Function to compute the constant e4 from the input of the eccentricity of the spheroid, x. This constant is used in the Polar Stereographic projection.
protected static e4fn ( double x ) : double
x double
return double

mlfn() protected static method

Function computes the value of M which is the distance along a meridian from the Equator to latitude phi.
protected static mlfn ( double e0, double e1, double e2, double e3, double phi ) : double
e0 double
e1 double
e2 double
e3 double
phi double
return double

msfnz() protected static method

Function to compute the constant small m which is the radius of a parallel of latitude, phi, divided by the semimajor axis.
protected static msfnz ( double eccent, double sinphi, double cosphi ) : double
eccent double
sinphi double
cosphi double
return double

phi1z() protected static method

protected static phi1z ( double eccent, double qs, long &flag ) : double
eccent double
qs double
flag long
return double

phi2z() protected static method

Function to compute the latitude angle, phi2, for the inverse of the Lambert Conformal Conic and Polar Stereographic projections.
protected static phi2z ( double eccent, double ts, long &flag ) : double
eccent double
ts double
flag long
return double

qsfnz() protected static method

Function to compute constant small q which is the radius of a parallel of latitude, phi, divided by the semimajor axis.
protected static qsfnz ( double eccent, double sinphi, double cosphi ) : double
eccent double
sinphi double
cosphi double
return double

sign() protected static method

Function to return the sign of an argument
protected static sign ( double x ) : double
x double
return double

sincos() protected static method

Function to calculate the sine and cosine in one call. Some computer systems have implemented this function, resulting in a faster implementation than calling each function separately. It is provided here for those computer systems which don`t implement this function
protected static sincos ( double val, double &sin_val, double &cos_val ) : void
val double
sin_val double
cos_val double
return void

tsfnz() protected static method

Function to compute the constant small t for use in the forward computations in the Lambert Conformal Conic and the Polar Stereographic projections.
protected static tsfnz ( double eccent, double phi, double sinphi ) : double
eccent double
phi double
sinphi double
return double

Property Details

_Parameters protected_oe property

protected List _Parameters
return List

_e protected_oe property

protected double _e
return double

_es protected_oe property

protected double _es
return double

_inverse protected_oe property

protected MathTransform,SharpMap.CoordinateSystems.Transformations _inverse
return SharpMap.CoordinateSystems.Transformations.MathTransform

_isInverse protected_oe property

protected bool _isInverse
return bool

_isSpherical protected_oe property

protected bool _isSpherical
return bool

_semiMajor protected_oe property

protected double _semiMajor
return double

_semiMinor protected_oe property

protected double _semiMinor
return double