NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications

Constants of the coordinate system library. More...

Typedefs

typedef double AngularUnit
 Defines the angular unit. The value is the number of degrees per angular unit.
 

Enumerations

enum  AngularUnitType { kAngularUnitTypeDegree = 0, kAngularUnitTypeGeoInt, kAngularUnitTypeRadians, kAngularUnitTypeUndefined = -1 }
 Describes the angular unit type for the geographic coordinate system. More...
 
enum  AxisOrientation {
  kAxisOrientationUnknown = 0, kAxisOrientationNorth = 1, kAxisOrientationSouth = 2, kAxisOrientationEast = 3,
  kAxisOrientationWest = 4, kAxisOrientationUp = 5, kAxisOrientationDown = 6
}
 Describes the axis orientation. More...
 
enum  ProjectionParameterEnum {
  kProjPar_Azimuth = 0, kProjPar_LongitudeOfCenter = 1, kProjPar_LatitudeOfCenter = 2, kProjPar_ScaleFactor = 3,
  kProjPar_LatitudeOfOrigin = 4, kProjPar_LongitudeOfOrigin = 5, kProjPar_StandardParallel1 = 6, kProjPar_StandardParallel2 = 7,
  kProjPar_CoordinateUnit = 8, kProjPar_SemiMajorAxis = 9, kProjPar_SemiMinorAxis = 10, kProjPar_FalseEasting = 11,
  kProjPar_FalseNorthing = 12, kProjPar_UTMZone = 13, kProjPar_UTMIsNorth = 14, kProjPar_UTMAutoset = 15,
  kProjPar_LongitudeOfLocalScale = 16, kProjPar_LatitudeOfLocalScale = 17
}
 Parameters for the different projections. Required parameters for all projections: ProjPar_CoordinateUnit, ProjPar_SemiMajorAxis, ProjPar_SemiMinorAxis. More...
 
enum  ProjectionPropertyEnum { kProjProperty_LocalScale, kProjProperty_CorrespondedLocalScale }
 Defines the projection properties. More...
 
enum  ProjectionClassID {
  kProjectionClassID_Mercator = 0, kProjectionClassID_TransverseMercator, kProjectionClassID_LambertConformalConic, kProjectionClassID_Geo,
  kProjectionClassID_Gnomonic, kProjectionClassID_Stereographic, kProjectionClassID_PolarStereographic = kProjectionClassID_Stereographic, kProjectionClassID_LocalCartesian,
  kProjectionClassID_UTM
}
 Projection classes.
More...
 

Variables

SDK_CRS_BEGIN_NAMESPACE typedef double LinearUnit
 Defines the linear unit. The value is the number of meters per linear unit.
 
#define kRADIUS   6378137.0L
 Equatorial radius of the Earth in meters.
 
#define kEQUATOR   40075016.6855784861L
 Length of the Equator in meters.
 
#define kWGS84_NAME   "WGS84"
 WGS84 definition of Earth.
 
#define kWGS84_E   0.08181919084262150L
 First eccentricity.
 
#define kWGS84_ESQUARED   kWGS84_E2
 First eccentricity squared = e2 = 1-(b/a)2 = (2-f)f.
 
#define kWGS84_INVERSE_FLATTENING   298.257223563L
 Inverse flattening.
 
#define kWGS84_SEMIMAJOR   6378137.0L
 Semi-major axis in meters.
 
#define kWGS84_SEMIMINOR   (kWGS84_SEMIMAJOR*(1-(1/kWGS84_INVERSE_FLATTENING)))
 Semi-minor axis in meters.
 

Detailed Description

Constants of the coordinate system library.

Enumeration Type Documentation

◆ AngularUnitType

Describes the angular unit type for the geographic coordinate system.

Enumerator
kAngularUnitTypeDegree 

Degree.

kAngularUnitTypeGeoInt 

GeoInt.

kAngularUnitTypeRadians 

Radians.

kAngularUnitTypeUndefined 

Not applicable (Cartesian)

◆ AxisOrientation

Describes the axis orientation.

Enumerator
kAxisOrientationUnknown 

Unknown or unspecified axis orientation. This can be used for local or fitted coordinate systems.

kAxisOrientationNorth 

Increasing ordinates values go North. This is usually used for Grid Y coordinates and Latitude.

kAxisOrientationSouth 

Increasing ordinates values go South. This is rarely used.

kAxisOrientationEast 

Increasing ordinates values go East. This is rarely used.

kAxisOrientationWest 

Increasing ordinates values go West. This is usually used for Grid X coordinates and Longitude.

kAxisOrientationUp 

Increasing ordinates values go up. This is used for vertical coordinate systems.

kAxisOrientationDown 

Increasing ordinates values go down. This is used for vertical coordinate systems.

◆ ProjectionParameterEnum

Parameters for the different projections. Required parameters for all projections: ProjPar_CoordinateUnit, ProjPar_SemiMajorAxis, ProjPar_SemiMinorAxis.

Mercator Projection.

The Mercator projection is a cylindrical, conformal map projection in which meridians and parallels are straight lines that cross at 90-degree angles. Angular relationships are preserved. It is quite useful for navigation because rhumb lines (loxodromes), which show constant direction, are straight.

Parameters: ProjPar_LongitudeOfCenter, ProjPar_LatitudeOfCenter, ProjPar_LatitudeOfOrigin, ProjPar_ScaleFactor, ProjPar_FalseEasting, ProjPar_FalseNorthing

Transverse Mercator Projection

The Transverse Mercator projection is similar to the Mercator Projection, except that the axis of the projection cylinder is rotated 90 degrees from the polar axis. This projection does not have the straight meridians and straight parallels of the Mercator projection, except for the central meridian, the two meridians 90 degrees away, and the equator. Nor does the Transverse Mercator projection have the straight rhumb lines of the Mercator projection; rather, it is a conformal projection. Scale is true along the central meridian or along two straight lines equidistant from and parallel to the central meridian.

Parameters. ProjPar_LongitudeOfCenter, ProjPar_LatitudeOfCenter, ProjPar_LatitudeOfOrigin, ProjPar_ScaleFactor, ProjPar_FalseEasting, ProjPar_FalseNorthing

Universal Transverse Mercator Projection.

The Universal Transverse Mercator (UTM) projection class is an extension of the Transverse Mercator projection class that allows all UTM zones in a given horizontal datum.

Parameters. ProjPar_CentralMeridian, ProjPar_LatitudeOfOrigin, ProjPar_ScaleFactor, ProjPar_FalseEasting, ProjPar_FalseNorthing

Optional parameters. ProjPar_UTMZone, ProjPar_UTMIsNorth, ProjPar_UTMAutoset

Lambert Conformal Conic (2-parallel) Projection.

The Lambert Conformal Conic (2-parallel) projection is a map projection in which the scale is true along two standard parallels, and the true shape of small areas is preserved. Parallels are unequally spaced arcs of concentric circles spaced closer to each other near the center of the map. The meridians are equally spaced and intersect the parallels at right angles. The scale is true along two standard parallels.

The Lambert Conformal Conic projection is widely used in atlases, in aeronautical charts, and in plane coordinate systems in surveying.

Parameters. ProjPar_CentralMeridian, ProjPar_LatitudeOfOrigin, ProjPar_StandardParallel1, ProjPar_StandardParallel2, ProjPar_FalseEasting, ProjPar_FalseNorthing.

Enumerator
kProjPar_Azimuth 

Azimuth of the Center Line.

kProjPar_LongitudeOfCenter 

Longitude of the Center of the Projection.

kProjPar_LatitudeOfCenter 

Latitude of the Center of the Projection.

kProjPar_ScaleFactor 

Scale Reduction Factor at the Center of the Projection.

kProjPar_LatitudeOfOrigin 

Latitude of the Origin of the Projection.

kProjPar_LongitudeOfOrigin 

Longitude of the Origin of the Projection.

kProjPar_StandardParallel1 

Latitude of Pseudo Standard Parallel1. Latitude of Southern Standard Parallel for Lambert Conformal Conic (2-parallel) Projection.

kProjPar_StandardParallel2 

Latitude of Pseudo Standard Parallel2. Latitude of Northern Standard Parallel for Lambert Conformal Conic (2-parallel) Projection.

kProjPar_CoordinateUnit 

Linear units of coordinates in meters per unit.

kProjPar_SemiMajorAxis 

Semi-major axis of an ellipsoid.

kProjPar_SemiMinorAxis 

Semi-minor axis of an ellipsoid.

kProjPar_FalseEasting 

False easting.

kProjPar_FalseNorthing 

False northing.

kProjPar_UTMZone 

UTM Zone.

kProjPar_UTMIsNorth 

UTM. Currently in northern hemisphere.

kProjPar_UTMAutoset 

UTM. Automatically set zone.

kProjPar_LongitudeOfLocalScale 

Longitude of position for getting a local scale.

kProjPar_LatitudeOfLocalScale 

Latitude of position for getting a local scale.

◆ ProjectionPropertyEnum

Defines the projection properties.

Enumerator
kProjProperty_LocalScale 

Returns a local scale at the position specified by kProjPar_LongitudeOfLocalScale and kProjPar_LatitudeOfLocalScale parameters.

kProjProperty_CorrespondedLocalScale 

Returns a corresponded local scale

◆ ProjectionClassID

Projection classes.

Enumerator
kProjectionClassID_Mercator 

Mercator.

kProjectionClassID_TransverseMercator 

Transverse Mercator.

kProjectionClassID_LambertConformalConic 

Lambert Conformal Conic.

kProjectionClassID_Geo 

Geographic.

kProjectionClassID_Gnomonic 

Spherical gnomonic.

kProjectionClassID_Stereographic 

Stereographic.

kProjectionClassID_PolarStereographic 

Polar Stereographic alias Stereographic.

kProjectionClassID_LocalCartesian 

Local Cartesian.

kProjectionClassID_UTM 

UTM.