UNCLASSIFIED
GeographicTranslator
Main Page
Namespaces
Classes
All
Classes
Namespaces
Functions
Enumerations
net
defender
users
ccadmin
MSP
BUILDS
MSP_1.2.0.12_UNCLASS
GEOTRANS
INSTALLER_take2
master
CCS
src
dtcc
egm2008_aoi_grid_package.h
1
3
// //
4
// UNCLASSIFIED UNCLASSIFIED UNCLASSIFIED UNCLASSIFIED //
5
// //
6
// Description of this module: //
7
// Utility software that interpolates EGM 2008 geoid //
8
// heights from one of NGA's reformatted geoid height grids. //
9
// //
10
// This interpolator uses Area of Interest (AOI) //
11
// geoid height grids, not the worldwide geoid height grid. //
12
// //
13
// This interpolator does not load an Area of Interest (AOI) //
14
// geoid height grid until a user first requests a geoid height. //
15
// The interpolator then loads an AOI grid centered near the point of //
16
// interest, and it interpolates local geoid height from the AOI grid. //
17
// This interpolator re-uses the AOI grid until a subsequent point of //
18
// interest lies outside the AOI. The interpolator then loads a //
19
// new AOI grid centered at the new horizontal location of interest. //
20
// //
21
// This interpolator gives exactly the same results as //
22
// the companion egm2008_full_grid_package's interpolator. //
23
// However, the AOI interpolator requires far less computer memory. //
24
// //
25
// Revision History: //
26
// Date Name Description //
27
// ----------- ------------ ----------------------------------------------//
28
// 19 Nov 2010 RD Craig Release //
29
// 11 Feb 2011 RD Craig Updates following code review //
30
// //
32
33
#ifndef EGM2008_AOI_GRID_PACKAGE_H
34
#define EGM2008_AOI_GRID_PACKAGE_H
35
36
// This file declares a C++ class
37
// that interpolates EGM 2008 geoid heights from a
38
// reformatted version of NGA's worldwide geoid height grids.
39
40
#include "DtccApi.h"
41
#include "egm2008_geoid_grid.h"
42
43
namespace
MSP
44
{
45
46
class
MSP_DTCC_API
Egm2008AoiGrid
:
public
Egm2008GeoidGrid
{
47
48
protected
:
49
50
// _maxAoiColIndex: The AOI grid's maximum column index;
51
// this is referenced to the worldwide grid.
52
53
int
_maxAoiColIndex;
54
55
// _minAoiColIndex: The AOI grid's minimum column index;
56
// this is referenced to the worldwide grid.
57
58
int
_minAoiColIndex;
59
60
// _maxAoiRowIndex: The AOI grid's maximum row index;
61
// this is referenced to the worldwide grid.
62
63
int
_maxAoiRowIndex;
64
65
// _minAoiRowIndex: The AOI grid's minimum row index;
66
// this is referenced to the worldwide grid.
67
68
int
_minAoiRowIndex;
69
70
// nAoiCols: The number of columns in the AOI grid.
71
72
int
_nAoiCols;
73
74
// nAoiRows: The number of rows in the AOI grid.
75
76
int
_nAoiRows;
77
78
// nomAoiCols: Nominal number of columns in the AOI
79
// grid; actual number is latitude dependent.
80
81
int
_nomAoiCols;
82
83
// nomAoiRows: Nominal number of rows in the AOI grid.
84
85
int
_nomAoiRows;
86
87
// heightGrid: A pointer to a
88
// one-dimensional array containing a
89
// part of the reformatted geoid-height grid.
90
91
float
* _heightGrid;
92
93
public
:
94
95
// Basic functions .....
96
97
Egm2008AoiGrid
(
void
);
98
99
Egm2008AoiGrid
(
const
Egm2008AoiGrid
& oldGrid );
100
101
~
Egm2008AoiGrid
(
void
);
102
103
Egm2008AoiGrid
&
104
operator = (
const
Egm2008AoiGrid
& oldGrid );
105
106
// User functions .....
107
108
// geoidHeight: A function that interpolates
109
// local geoid height (meters) from
110
// a reformatted EGM 2008 geoid height grid;
111
// this function uses bi-cubic spline interpolation.
112
113
virtual
int
114
geoidHeight(
115
int
wSize,
// input
116
double
latitude,
// input
117
double
longitude,
// input
118
double
& gHeight );
// output
119
120
protected
:
121
122
// geoidHeight: A function that interpolates
123
// local geoid height (meters) from
124
// a reformatted EGM 2008 geoid height grid;
125
// this function uses bilinear interpolation.
126
127
virtual
int
128
geoidHeight(
129
double
latitude,
// input
130
double
longitude,
// input
131
double
& gHeight );
// output
132
133
// loadAoiParms: A function that loads an AOI grid's
134
// parameters relative to an input worldwide grid.
135
136
int
137
loadAoiParms(
138
int
i0,
int
j0 );
139
140
// loadGrid: A function that loads an AOI grid from
141
// a reformatted EGM 2008 worldwide geoid height grid.
142
143
int
144
loadGrid(
void
);
145
146
// loadGridMetadata: A function that loads worldwide EGM 2008
147
// grid metadata from a reformatted worldwide grid file.
148
149
int
150
loadGridMetadata(
void
);
151
152
};
// End of Egm2008AoiGrid class declaration
153
154
}
// End of namespace block
155
156
#endif
157
159
// UNCLASSIFIED UNCLASSIFIED UNCLASSIFIED UNCLASSIFIED //
161
Generated on Tue Oct 16 2012 13:48:12 for GeographicTranslator by doxygen 1.8.2