QGIS/python/core/qgsdistancearea.sip

76 lines
2.2 KiB
Plaintext
Raw Normal View History

class QgsDistanceArea
{
%TypeHeaderCode
#include <qgsdistancearea.h>
%End
public:
//! Constructor
QgsDistanceArea();
2012-09-03 23:49:46 +02:00
//! Destructor
~QgsDistanceArea();
2012-09-01 23:55:32 +02:00
2012-09-03 23:49:46 +02:00
//! Copy constructor
QgsDistanceArea( const QgsDistanceArea &origDA );
2012-09-01 23:55:32 +02:00
//! sets whether coordinates must be projected to ellipsoid before measuring
2012-09-03 23:49:46 +02:00
void setEllipsoidalMode( bool flag );
//! returns projections enabled flag
2012-09-03 23:49:46 +02:00
bool ellipsoidalEnabled() const;
//! sets source spatial reference system (by QGIS CRS)
2012-09-03 23:49:46 +02:00
void setSourceCrs( long srsid );
//! sets source spatial reference system by authid
void setSourceAuthId( QString authid );
//! returns source spatial reference system
long sourceCrs();
//! What sort of coordinate system is being used?
bool geographic();
//! sets ellipsoid by its acronym
2012-09-03 23:49:46 +02:00
bool setEllipsoid( const QString& ellipsoid );
2012-09-03 15:47:48 +02:00
//! Sets ellipsoid by supplied radii
// Inverse flattening is calculated with invf = a/(a-b)
bool setEllipsoid( double semiMajor, double semiMinor );
//! returns ellipsoid's acronym
const QString& ellipsoid();
2012-09-03 23:49:46 +02:00
//! returns ellipsoid's semi major axis
double ellipsoidSemiMajor();
//! returns ellipsoid's semi minor axis
double ellipsoidSemiMinor();
//! returns ellipsoid's inverse flattening
double ellipsoidInverseFlattening();
2012-09-03 23:49:46 +02:00
//! general measurement (line distance or polygon area)
2012-09-03 23:49:46 +02:00
double measure( QgsGeometry* geometry );
//! measures perimeter of polygon
double measurePerimeter( QgsGeometry* geometry );
//! measures line
double measureLine( const QList<QgsPoint>& points );
//! measures line with one segment
2012-09-03 23:49:46 +02:00
double measureLine( const QgsPoint& p1, const QgsPoint& p2 );
//! measures polygon area
2012-09-03 23:49:46 +02:00
double measurePolygon( const QList<QgsPoint>& points );
//! compute bearing - in radians
2012-09-03 23:49:46 +02:00
double bearing( const QgsPoint& p1, const QgsPoint& p2 );
static QString textUnit( double value, int decimals, QGis::UnitType u, bool isArea, bool keepBaseUnit = false );
//! Helper for conversion between physical units
2012-12-12 20:29:30 +02:00
void convertMeasurement( double &measure /In,Out/, QGis::UnitType &measureUnits /In,Out/, QGis::UnitType displayUnits, bool isArea );
};