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