GeoTessCPP
2.6.1
Software to facilitate storage and retrieval of 3D information about the Earth.
|
Implements the Natural Neighbor Interpolation algorithm for the geographic dimensions of the grid. More...
#include <GeoTessPositionNaturalNeighbor.h>
Public Member Functions | |
GeoTessPositionNaturalNeighbor (GeoTessModel *model, const GeoTessInterpolatorType &radialType) | |
virtual | ~GeoTessPositionNaturalNeighbor () |
virtual const GeoTessInterpolatorType & | getInterpolatorType () const |
virtual long | getMemory () |
![]() | |
virtual | ~GeoTessPosition () |
virtual double | getValue (int attribute) |
void | setModel (GeoTessModel *newModel) |
bool | noEmptyProfiles () |
void | set (double lat, double lon, double depth) |
void | set (const double *const uVector, const double &newRadius) |
void | set (int layid, double lat, double lon, double depth) |
void | set (int layid, const double *const uVector, double rad) |
void | setTop (int layid, const double *const uVector) |
void | setBottom (int layid, const double *const uVector) |
void | setRadius (int layid, double rad) |
void | setRadius (double rad) |
void | setDepth (int layer, double depth) |
void | setDepth (double depth) |
void | setTop (int layid) |
void | setBottom (int layid) |
double | getRadiusTop (int layid) |
double | getRadiusBottom (int layid) |
double | getEarthRadius () |
double * | getVector () |
void | copyVector (double *u) |
int | getTriangle () |
int | getNVertices () |
const vector< int > & | getVertices () const |
int | getIndexOfClosestVertex () const |
const double * | getClosestVertex () const |
int | getVertex (int index) |
void | getCoefficients (map< int, double > &coefficients) |
void | setMaxTessLevel (int layid, int maxTess) |
int | getMaxTessLevel (int layid) |
int | getTessLevel () const |
int | getTessLevel (const int &tId) |
double | getRadiusTop () |
double | getRadiusBottom () |
double | getDepthTop () |
double | getDepthBottom () |
double | getDepthTop (int layid) |
double | getDepthBottom (int layid) |
double | getLayerThickness (int layid) |
double | getLayerThickness () |
double | getRadius () |
double | getDepth () |
GeoTessModel * | getModel () |
int | getTessID () |
int | getLayerId (double rad) |
int | getLayerId () |
string | toString () |
double | getErrorValue () |
void | setErrorValue (double errVal) |
int | getVertexIndex () |
void | getWeights (map< int, double > &weights, double dkm) |
const vector< double > & | getHorizontalCoefficients () const |
double | getHorizontalCoefficient (int index) const |
bool | isRadiusOutOfRangeAllowed () |
void | setRadiusOutOfRangeAllowed (bool allowed) |
void | addReference () |
void | removeReference () |
int | getReferenceCount () |
bool | isNotReferenced () |
Protected Member Functions | |
virtual void | update2D (int tid) |
Additional Inherited Members | |
![]() | |
static GeoTessPosition * | getGeoTessPosition (GeoTessModel *model) |
static GeoTessPosition * | getGeoTessPosition (GeoTessModel *model, const GeoTessInterpolatorType &horizontalType) |
static GeoTessPosition * | getGeoTessPosition (GeoTessModel *model, const GeoTessInterpolatorType &horizontalType, const GeoTessInterpolatorType &radialType) |
Implements the Natural Neighbor Interpolation algorithm for the geographic dimensions of the grid.
Implements the Natural Neighbor Interpolation algorithm of Sibson (1980, 1981). This technique interpolates values stored on a Delaunay triangulation. Returned values are continuous everywhere and smooth everywhere except the vertices of the triangulation. Implementation of the algorithm is described in detail in Hipp et al. (1999).
Hipp, J. R., C. J. Young, S. G. Moore, E. R. Shepherd, C. A. Schultz and S. C. Myers (1999), Parametric Grid Information in the DOE Knowledge Base: Data Preparation, Storage, and Access, SAND99-2277, Sandia National Laboratories Report.
Sibson, R., (1980) A Vector Identity for the Dirichlet Tessellation, Proc. Cambridge Philosophical Society, 87, 151-155.
Sibson, R. (1981). "A brief description of natural neighbor interpolation (Chapter 2)". In V. Barnett. Interpreting Multivariate Data. Chichester: John Wiley. pp. 21�36.
Definition at line 93 of file GeoTessPositionNaturalNeighbor.h.
geotess::GeoTessPositionNaturalNeighbor::GeoTessPositionNaturalNeighbor | ( | GeoTessModel * | model, |
const GeoTessInterpolatorType & | radialType | ||
) |
Standard Constructor.
|
virtual |
Destructor.
|
inlinevirtual |
Retrieve the type of interpolation that this GeoTessPosition object is configured to perform. Either InterpolatorType.LINEAR or InterpolatorType.NATURAL_NEIGHBOR.
Reimplemented from geotess::GeoTessPosition.
Definition at line 147 of file GeoTessPositionNaturalNeighbor.h.
|
inlinevirtual |
Retrieve the amount of memory consumed by this GeoTessPosition object.
Reimplemented from geotess::GeoTessPosition.
Definition at line 151 of file GeoTessPositionNaturalNeighbor.h.
|
protectedvirtual |
Update the vertices and their associated interpolation coefficients, that will be used to interpolate new values. Uses the natural neighbor interpolation algorithm originally proposed by Sibson, R. (1980), A Vector Identity For Dirichlet Tessellation, Proc. Cambridge Philosophical Society, 87, 151-155. The algorithm is described in detail in Hipp, J. R., C. J. Young, S. G. Moore, E. R. Shepherd, C. A. Schultz and S. C. Myers (1999), Parametric Grid Information in the DOE Knowledge Base: Data Preparation, Storage, and Access, SAND99-2277, Sandia National Laboratories Report.