xmsinterp
1.0
|
xmsinterp is a spatial interpolation library used in xms libraries and products.
The code is distributed under the FreeBSD Software License. (See accompanying file LICENSE or copy at http://www.aquaveo.com/bsd/LICENSE.txt).
This library is available as a python module. See Python Documentation
The library supports both 2D (x,y) and 3D (x,y,z) interpolation. Supported 2d interpolation methods include: linear, natural neighbor, clough tocher, and inverse distance weighted (IDW). IDW also supports 3D interpolation. IDW and natural neighbor support modeling data trends using gradient plane and quadratic nodal functions. See the following tutorial for example code.
The code has numerous unit tests which use the CxxTest framework. A good way to see how to use the code is to look at the unit tests. Unit tests are located at the bottom of .cpp files within a "#if CXX_TEST" code block. Header files that are named with ".t.h" contain the test suite class definitions.
Many classes follow the interface pattern. An abstract base class is used to define the interface and a concrete implementation class is used to implement the functionality. The implementation class will be named the same as the interface class but will end in "Impl" and will only be found in the .cpp file. For example: xms::InterpIdw and xms::InterpIdwImpl. The Doxygen documentation will be for the Impl class.
More about the interface pattern can be found at the following resources:
The name "xmsinterp" comes from the "XMS" (GMS, SMS, WMS) water modeling software created by Aquaveo.