Skip to content

Commit 9592a85

Browse files
author
wonder
committed
Bindings: wrapped QgsDistanceArea
git-svn-id: http://svn.osgeo.org/qgis/trunk@6732 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 2e26ecf commit 9592a85

File tree

2 files changed

+61
-0
lines changed

2 files changed

+61
-0
lines changed

python/core/core.sip

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
%Include qgscoordinatetransform.sip
1515
%Include qgsdataprovider.sip
1616
%Include qgsdatasourceuri.sip
17+
%Include qgsdistancearea.sip
1718
%Include qgsfeature.sip
1819
%Include qgsfeatureattribute.sip
1920
%Include qgsfield.sip

python/core/qgsdistancearea.sip

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
2+
class QgsDistanceArea
3+
{
4+
%TypeHeaderCode
5+
#include <qgsdistancearea.h>
6+
%End
7+
8+
public:
9+
10+
//! Constructor
11+
QgsDistanceArea();
12+
13+
//! Destructor
14+
~QgsDistanceArea();
15+
16+
//! sets whether coordinates must be projected to ellipsoid before measuring
17+
void setProjectionsEnabled(bool flag);
18+
19+
//! returns projections enabled flag
20+
bool projectionsEnabled();
21+
22+
//! sets source spatial reference system (by QGIS SRS)
23+
void setSourceSRS(long srsid);
24+
25+
//! returns source spatial reference system
26+
long sourceSRS();
27+
//! What sort of coordinate system is being used?
28+
bool geographic();
29+
30+
//! sets ellipsoid by its acronym
31+
bool setEllipsoid(const QString& ellipsoid);
32+
33+
//! returns ellipsoid's acronym
34+
const QString& ellipsoid();
35+
36+
//! returns ellipsoid's semi major axis
37+
double ellipsoidSemiMajor();
38+
//! returns ellipsoid's semi minor axis
39+
double ellipsoidSemiMinor();
40+
//! returns ellipsoid's inverse flattening
41+
double ellipsoidInvFlattening();
42+
43+
//! general measurement (line distance or polygon area)
44+
double measure(QgsGeometry* geometry);
45+
46+
//! measures line with more segments
47+
// TODO wrap double measureLine(const std::vector<QgsPoint>& points);
48+
49+
//! measures line with one segment
50+
double measureLine(const QgsPoint& p1, const QgsPoint& p2);
51+
52+
//! measures polygon area
53+
// TODO wrap double measurePolygon(const std::vector<QgsPoint>& points);
54+
55+
//! compute bearing - in radians
56+
double getBearing(const QgsPoint& p1, const QgsPoint& p2);
57+
58+
static QString textUnit(double value, int decimals, QGis::units u, bool isArea);
59+
60+
};

0 commit comments

Comments
 (0)