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
egm2008_full_grid_package.h
Go to the documentation of this file.
1
2
// CLASSIFICATION: UNCLASSIFIED
3
5
// //
6
// File name: egm2008_full_grid_package.h //
7
// //
8
// Description of this module: //
9
// Utility software that interpolates EGM 2008 //
10
// geoid heights from one of NGA's geoid height grids. //
11
// //
12
// This interpolator loads the worldwide EGM 2008 grid upon //
13
// instantiation, and it interpolates from the worldwide grid. //
14
// //
15
// This interpolator gives exactly the same results as //
16
// the companion egm2008_aoi_grid_package's interpolator. //
17
// However, this interpolator is faster when //
18
// users are requesting tens of thousands of geoid //
19
// heights at widely dispersed horizontal locations. //
20
// //
21
// Revision History: //
22
// Date Name Description //
23
// ----------- ------------ ----------------------------------------------//
24
// 19 Nov 2010 RD Craig Release //
25
// 11 Feg 2011 RD Craig Upgrades following code review //
26
// 30 May 2013 RD Craig MSP 1.3: ER29758 //
27
// Added second constructor to //
28
// permit multiple geoid-height grids //
29
// when assessing relative interpolation errors. //
30
// //
32
33
#ifndef EGM2008_FULL_GRID_PACKAGE_H
34
#define EGM2008_FULL_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 geoid-height grid.
39
40
// THIS DERIVED CLASS IMPLEMENTS COMPUTATIONAL
41
// DETAILS SPECIFIC TO THE EGM 2008 FULL-GRID ALGORITHM.
42
43
#include "
DtccApi.h
"
44
#include "
egm2008_geoid_grid.h
"
45
46
namespace
MSP
47
{
48
class
MSP_DTCC_API
Egm2008FullGrid
:
public
Egm2008GeoidGrid
{
49
50
protected
:
51
52
// heightGrid: A pointer to a
53
// one-dimensional array containing
54
// the reformatted geoid-height grid.
55
56
float
*
_heightGrid
;
57
58
public
:
59
60
// Basic functions .....
61
62
Egm2008FullGrid
(
void
);
63
64
Egm2008FullGrid
(
const
std::string &gridFname );
// new 5/30/2013
65
66
Egm2008FullGrid
(
const
Egm2008FullGrid
& oldGrid );
67
68
~
Egm2008FullGrid
(
void
);
69
70
Egm2008FullGrid
&
71
operator = (
const
Egm2008FullGrid
& oldGrid );
72
73
// User functions .....
74
75
// geoidHeight: A function that interpolates
76
// local geoid height (meters) from
77
// a reformatted geoid height grid;
78
// it uses bi-cubic spline interpolation.
79
80
virtual
int
81
geoidHeight(
82
int
wSize,
// input
83
double
latitude,
// input
84
double
longitude,
// input
85
double
& gHeight );
// output
86
87
protected
:
88
89
// geoidHeight: A function that interpolates
90
// local geoid height (meters) from
91
// a reformatted geoid height grid;
92
// it uses bilinear interpolation.
93
94
virtual
int
95
geoidHeight(
96
double
latitude,
// input
97
double
longitude,
// input
98
double
& gHeight );
// output
99
100
// loadGrid: A function that
101
// retrieves a reformatted
102
// EGM 2008 worldwide geoid height grid.
103
104
int
105
loadGrid(
void
);
106
107
};
// End of Egm2008FullGrid class declaration
108
109
}
// End of namespace block
110
111
#endif
112
113
// CLASSIFICATION: UNCLASSIFIED
114
Generated on Tue Feb 16 2016 14:54:02 for GeographicTranslator by doxygen 1.8.2