Quantum GIS API Documentation
1.7.4
|
Interpolation in a triangular irregular network. More...
#include <qgstininterpolator.h>
Public Types | |
enum | TIN_INTERPOLATION { Linear, CloughTocher } |
Public Member Functions | |
QgsTINInterpolator (const QList< LayerData > &inputData, TIN_INTERPOLATION interpolation=Linear, bool showProgressDialog=false) | |
~QgsTINInterpolator () | |
int | interpolatePoint (double x, double y, double &result) |
Calculates interpolation value for map coordinates x, y. | |
void | setExportTriangulationToFile (bool e) |
void | setTriangulationFilePath (const QString &filepath) |
Private Member Functions | |
void | initialize () |
Create dual edge triangulation. | |
int | insertData (QgsFeature *f, bool zCoord, int attr, InputType type) |
Inserts the vertices of a feature into the triangulation. | |
Private Attributes | |
Triangulation * | mTriangulation |
TriangleInterpolator * | mTriangleInterpolator |
bool | mIsInitialized |
bool | mShowProgressDialog |
bool | mExportTriangulationToFile |
If true: export triangulation to shapefile after initialisation. | |
QString | mTriangulationFilePath |
File path to export the triangulation. | |
TIN_INTERPOLATION | mInterpolation |
Type of interpolation. |
Interpolation in a triangular irregular network.
Definition at line 29 of file qgstininterpolator.h.
Definition at line 33 of file qgstininterpolator.h.
QgsTINInterpolator::QgsTINInterpolator | ( | const QList< LayerData > & | inputData, |
TIN_INTERPOLATION | interpolation = Linear , |
||
bool | showProgressDialog = false |
||
) |
Definition at line 30 of file qgstininterpolator.cpp.
Definition at line 41 of file qgstininterpolator.cpp.
References mTriangleInterpolator, and mTriangulation.
void QgsTINInterpolator::initialize | ( | ) | [private] |
Create dual edge triangulation.
Definition at line 68 of file qgstininterpolator.cpp.
References TriDecorator::addTriangulation(), CloughTocher, NormVecDecorator::estimateFirstDerivatives(), insertData(), mExportTriangulationToFile, mInterpolation, mIsInitialized, QgsInterpolator::mLayerData, mShowProgressDialog, mTriangleInterpolator, mTriangulation, mTriangulationFilePath, DualEdgeTriangulation::saveAsShapefile(), NormVecDecorator::setTriangleInterpolator(), and CloughTocherInterpolator::setTriangulation().
Referenced by interpolatePoint().
int QgsTINInterpolator::insertData | ( | QgsFeature * | f, |
bool | zCoord, | ||
int | attr, | ||
InputType | type | ||
) | [private] |
Inserts the vertices of a feature into the triangulation.
f | the feature |
zCoord | true if the z coordinate is the interpolation attribute |
attr | interpolation attribute index (if zCoord is false) |
type | point/structure line, break line |
Definition at line 167 of file qgstininterpolator.cpp.
References Triangulation::addLine(), Triangulation::addPoint(), QgsGeometry::asWkb(), QgsFeature::attributeMap(), QgsInterpolator::BREAK_LINES, QgsFeature::geometry(), Line3D::insertPoint(), mTriangulation, QgsInterpolator::POINTS, QGis::WKBLineString, QGis::WKBLineString25D, QGis::WKBMultiLineString, QGis::WKBMultiLineString25D, QGis::WKBMultiPoint, QGis::WKBMultiPoint25D, QGis::WKBMultiPolygon, QGis::WKBMultiPolygon25D, QGis::WKBPoint, QGis::WKBPoint25D, QGis::WKBPolygon, QGis::WKBPolygon25D, and QgsGeometry::wkbType().
Referenced by initialize().
int QgsTINInterpolator::interpolatePoint | ( | double | x, |
double | y, | ||
double & | result | ||
) | [virtual] |
Calculates interpolation value for map coordinates x, y.
x | x-coordinate (in map units) |
y | y-coordinate (in map units) |
result | out: interpolation result |
Implements QgsInterpolator.
Definition at line 47 of file qgstininterpolator.cpp.
References TriangleInterpolator::calcPoint(), Point3D::getZ(), initialize(), mIsInitialized, and mTriangleInterpolator.
void QgsTINInterpolator::setExportTriangulationToFile | ( | bool | e | ) | [inline] |
Definition at line 48 of file qgstininterpolator.h.
void QgsTINInterpolator::setTriangulationFilePath | ( | const QString & | filepath | ) | [inline] |
Definition at line 49 of file qgstininterpolator.h.
bool QgsTINInterpolator::mExportTriangulationToFile [private] |
If true: export triangulation to shapefile after initialisation.
Definition at line 57 of file qgstininterpolator.h.
Referenced by initialize().
Type of interpolation.
Definition at line 61 of file qgstininterpolator.h.
Referenced by initialize().
bool QgsTINInterpolator::mIsInitialized [private] |
Definition at line 54 of file qgstininterpolator.h.
Referenced by initialize(), and interpolatePoint().
bool QgsTINInterpolator::mShowProgressDialog [private] |
Definition at line 55 of file qgstininterpolator.h.
Referenced by initialize().
Definition at line 53 of file qgstininterpolator.h.
Referenced by initialize(), interpolatePoint(), and ~QgsTINInterpolator().
Triangulation* QgsTINInterpolator::mTriangulation [private] |
Definition at line 52 of file qgstininterpolator.h.
Referenced by initialize(), insertData(), and ~QgsTINInterpolator().
QString QgsTINInterpolator::mTriangulationFilePath [private] |
File path to export the triangulation.
Definition at line 59 of file qgstininterpolator.h.
Referenced by initialize().