GeoTessCPP: geotess::GeoTessPositionNaturalNeighbor Class Reference

GeoTessCPP 2.2.3 Software to facilitate storage and retrieval of 3D information about the Earth.

Public Member Functions | Protected Member Functions | List of all members
geotess::GeoTessPositionNaturalNeighbor Class Reference

Implements the Natural Neighbor Interpolation algorithm for the geographic dimensions of the grid. More...

`#include <GeoTessPositionNaturalNeighbor.h>`

Inheritance diagram for geotess::GeoTessPositionNaturalNeighbor:

## Public Member Functions
| GeoTessPositionNaturalNeighbor (GeoTessModel *model, const GeoTessInterpolatorType &radialType)
virtual | ~GeoTessPositionNaturalNeighbor ()
virtual const GeoTessInterpolatorType & | getInterpolatorType () const
virtual long | getMemory ()
Public Member Functions inherited from geotess::GeoTessPosition
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 Public Member Functions inherited from geotess::GeoTessPosition
static GeoTessPosition * | getGeoTessPosition (GeoTessModel *model)
static GeoTessPosition * | getGeoTessPosition (GeoTessModel *model, const GeoTessInterpolatorType &horizontalType)
static GeoTessPosition * | getGeoTessPosition (GeoTessModel *model, const GeoTessInterpolatorType &horizontalType, const GeoTessInterpolatorType &radialType)

## Detailed Description

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.

Author
  Sandy Ballard

Definition at line 95 of file GeoTessPositionNaturalNeighbor.h.

## Constructor & Destructor Documentation

## ◆ GeoTessPositionNaturalNeighbor()

geotess::GeoTessPositionNaturalNeighbor::GeoTessPositionNaturalNeighbor | ( | GeoTessModel * | model,
|  | const GeoTessInterpolatorType & | radialType
| ) |  |

Standard Constructor.

## ◆ ~GeoTessPositionNaturalNeighbor()

virtual geotess::GeoTessPositionNaturalNeighbor::~GeoTessPositionNaturalNeighbor | ( |  | ) |
| virtual

Destructor.

## Member Function Documentation

## ◆ getInterpolatorType()

virtual const GeoTessInterpolatorType& geotess::GeoTessPositionNaturalNeighbor::getInterpolatorType | ( |  | ) | const
| 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 149 of file GeoTessPositionNaturalNeighbor.h.

## ◆ getMemory()

virtual long geotess::GeoTessPositionNaturalNeighbor::getMemory | ( |  | ) |
| inlinevirtual

Retrieve the amount of memory consumed by this GeoTessPosition object.

Returns
  memory in bytes.

Reimplemented from geotess::GeoTessPosition.

Definition at line 153 of file GeoTessPositionNaturalNeighbor.h.

## ◆ update2D()

virtual void geotess::GeoTessPositionNaturalNeighbor::update2D | ( | int | tid | ) |
| 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.

The documentation for this class was generated from the following file:

- rstt/GeoTessCPP/include/GeoTessPositionNaturalNeighbor.h