QGIS API Documentation
2.2.0-Valmiera
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
src
analysis
vector
qgstransectsample.h
Go to the documentation of this file.
1
#ifndef QGSTRANSECTSAMPLE_H
2
#define QGSTRANSECTSAMPLE_H
3
4
#include "
qgsfeature.h
"
5
#include <QMap>
6
#include <QString>
7
8
class
QgsDistanceArea
;
9
class
QgsGeometry
;
10
class
QgsSpatialIndex
;
11
class
QgsVectorLayer
;
12
class
QgsPoint
;
13
class
QProgressDialog;
14
16
class
ANALYSIS_EXPORT
QgsTransectSample
17
{
18
public
:
19
20
enum
DistanceUnits
21
{
22
Meters
,
23
StrataUnits
//units are the same as stratum layer
24
};
25
26
QgsTransectSample
(
QgsVectorLayer
* strataLayer, QString strataIdAttribute, QString minDistanceAttribute, QString nPointsAttribute,
27
DistanceUnits minDistUnits,
QgsVectorLayer
* baselineLayer,
bool
shareBaseline,
28
QString baselineStrataId,
const
QString& outputPointLayer,
const
QString& outputLineLayer,
const
QString& usedBaselineLayer,
double
minTransectLength = 0.0 );
29
~
QgsTransectSample
();
30
31
int
createSample( QProgressDialog* pd );
32
33
private
:
34
QgsTransectSample
();
//default constructor forbidden
35
36
QgsGeometry
* findBaselineGeometry( QVariant strataId );
37
39
static
bool
otherTransectWithinDistance(
QgsGeometry
* geom,
double
minDistLayerUnit,
double
minDistance,
QgsSpatialIndex
& sIndex,
const
QMap< QgsFeatureId, QgsGeometry* >&
40
lineFeatureMap,
QgsDistanceArea
& da );
41
42
QgsVectorLayer
*
mStrataLayer
;
43
QString
mStrataIdAttribute
;
44
QString
mMinDistanceAttribute
;
45
QString
mNPointsAttribute
;
46
47
QgsVectorLayer
*
mBaselineLayer
;
48
bool
mShareBaseline
;
49
QString
mBaselineStrataId
;
50
51
QString
mOutputPointLayer
;
52
QString
mOutputLineLayer
;
53
QString
mUsedBaselineLayer
;
54
55
DistanceUnits
mMinDistanceUnits
;
56
57
double
mMinTransectLength
;
58
66
static
bool
closestSegmentPoints(
QgsGeometry
& g1,
QgsGeometry
& g2,
double
& dist,
QgsPoint
& pt1,
QgsPoint
& pt2 );
68
static
QgsGeometry
* closestMultilineElement(
const
QgsPoint
& pt,
QgsGeometry
* multiLine );
74
static
QgsGeometry
* clipBufferLine(
QgsGeometry
* stratumGeom,
QgsGeometry
* clippedBaseline,
double
tolerance );
75
};
76
77
#endif // QGSTRANSECTSAMPLE_H
Generated on Sun Feb 23 2014 14:27:18 for QGIS API Documentation by
1.8.1.2