UNCLASSIFIED
GeographicTranslator
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Enumerations
Enumerator
Friends
Macros
master
geotrans3.7
CCS
src
dtcc
CoordinateSystems
nzmg
NZMG.h
Go to the documentation of this file.
1
// CLASSIFICATION: UNCLASSIFIED
2
3
#ifndef NZMG_H
4
#define NZMG_H
5
6
/***************************************************************************/
7
/* RSC IDENTIFIER: NEW ZEALAND MAP GRID
8
*
9
* ABSTRACT
10
*
11
* This component provides conversions between Geodetic coordinates
12
* (latitude and longitude) and New Zealand Map Grid coordinates
13
* (easting and northing).
14
*
15
* ERROR HANDLING
16
*
17
* This component checks parameters for valid values. If an invalid value
18
* is found the error code is combined with the current error code using
19
* the bitwise or. This combining allows multiple error codes to be
20
* returned. The possible error codes are:
21
*
22
* NZMG_NO_ERROR : No errors occurred in function
23
* NZMG_LAT_ERROR : Latitude outside of valid range
24
* (-33.5 to -48.5 degrees)
25
* NZMG_LON_ERROR : Longitude outside of valid range
26
* (165.5 to 180.0 degrees)
27
* NZMG_EASTING_ERROR : Easting outside of valid range
28
* (depending on ellipsoid and
29
* projection parameters)
30
* NZMG_NORTHING_ERROR : Northing outside of valid range
31
* (depending on ellipsoid and
32
* projection parameters)
33
* NZMG_ELLIPSOID_ERROR : Invalid ellipsoid - must be International
34
*
35
* REUSE NOTES
36
*
37
* NEW ZEALAND MAP GRID is intended for reuse by any application that
38
* performs a New Zealand Map Grid projection or its inverse.
39
*
40
* REFERENCES
41
*
42
* Further information on NEW ZEALAND MAP GRID can be found in the
43
* Reuse Manual.
44
*
45
* NEW ZEALAND MAP GRID originated from :
46
* U.S. Army Topographic Engineering Center
47
* Geospatial Information Division
48
* 7701 Telegraph Road
49
* Alexandria, VA 22310-3864
50
*
51
* LICENSES
52
*
53
* None apply to this component.
54
*
55
* RESTRICTIONS
56
*
57
* NEW ZEALAND MAP GRID has no restrictions.
58
*
59
* ENVIRONMENT
60
*
61
* NEW ZEALAND MAP GRID was tested and certified in the following
62
* environments:
63
*
64
* 1. Solaris 2.5 with GCC, version 2.8.1
65
* 2. Windows 95 with MS Visual C++, version 6
66
*
67
* MODIFICATIONS
68
*
69
* Date Description
70
* ---- -----------
71
* 09-14-00 Original Code
72
* 03-2-07 Original C++ Code
73
*
74
*
75
*/
76
77
#include "
CoordinateSystem.h
"
78
79
80
namespace
MSP
81
{
82
namespace
CCS
83
{
84
class
EllipsoidParameters;
85
class
MapProjectionCoordinates;
86
class
GeodeticCoordinates;
87
88
89
/***************************************************************************/
90
/*
91
* DEFINES
92
*/
93
94
class
NZMG
:
public
CoordinateSystem
95
{
96
public
:
97
98
/*
99
* The constructor receives the ellipsoid code and sets
100
* the corresponding state variables. If any errors occur, an exception is
101
* thrown with a description of the error.
102
*
103
* ellipsoidCode : 2-letter code for ellipsoid (input)
104
*/
105
106
NZMG
(
char
* ellipsoidCode );
107
108
109
NZMG
(
const
NZMG
&n );
110
111
112
~NZMG
(
void
);
113
114
115
NZMG
&
operator=
(
const
NZMG
&n );
116
117
118
/*
119
* The function getParameters returns the current ellipsoid
120
* code.
121
*
122
* ellipsoidCode : 2-letter code for ellipsoid (output)
123
*/
124
125
EllipsoidParameters
*
getParameters
()
const
;
126
127
128
/*
129
* The function convertFromGeodetic converts geodetic (latitude and
130
* longitude) coordinates to New Zealand Map Grid projection (easting and northing)
131
* coordinates, according to the current ellipsoid and New Zealand Map Grid
132
* projection parameters. If any errors occur, an exception is thrown with a description
133
* of the error.
134
*
135
* longitude : Longitude (lambda), in radians (input)
136
* latitude : Latitude (phi), in radians (input)
137
* easting : Easting (X), in meters (output)
138
* northing : Northing (Y), in meters (output)
139
*/
140
141
MSP::CCS::MapProjectionCoordinates
*
convertFromGeodetic
(
MSP::CCS::GeodeticCoordinates
* geodeticCoordinates );
142
143
144
/*
145
* The function convertToGeodetic converts New Zealand Map Grid projection
146
* (easting and northing) coordinates to geodetic (latitude and longitude)
147
* coordinates, according to the current ellipsoid and New Zealand Map Grid projection
148
* coordinates. If any errors occur, an exception is thrown with a description
149
* of the error.
150
*
151
* easting : Easting (X), in meters (input)
152
* northing : Northing (Y), in meters (input)
153
* longitude : Longitude (lambda), in radians (output)
154
* latitude : Latitude (phi), in radians (output)
155
*/
156
157
MSP::CCS::GeodeticCoordinates
*
convertToGeodetic
(
MSP::CCS::MapProjectionCoordinates
* mapProjectionCoordinates );
158
159
private
:
160
161
/* Ellipsoid Parameters, must be International */
162
char
NZMGEllipsoidCode[3];
163
164
};
165
}
166
}
167
168
#endif
169
170
171
// CLASSIFICATION: UNCLASSIFIED
Generated on Tue Feb 16 2016 14:54:02 for GeographicTranslator by doxygen 1.8.2