16 #ifndef QGSDISTANCEAREA_H
17 #define QGSDISTANCEAREA_H
50 void setEllipsoidalMode(
bool flag );
56 void setSourceCrs(
long srsid );
65 void setSourceAuthId( QString authid );
68 long sourceCrs()
const {
return mCoordTransform->sourceCrs().srsid(); }
70 bool geographic()
const {
return mCoordTransform->sourceCrs().geographicFlag(); }
73 bool setEllipsoid(
const QString& ellipsoid );
77 bool setEllipsoid(
double semiMajor,
double semiMinor );
80 const QString&
ellipsoid()
const {
return mEllipsoid; }
96 double measureLine(
const QList<QgsPoint>& points );
102 double measurePolygon(
const QList<QgsPoint>& points );
107 static QString textUnit(
double value,
int decimals,
QGis::UnitType u,
bool isArea,
bool keepBaseUnit =
false );
115 const unsigned char* measureLine(
const unsigned char* feature,
double* area,
bool hasZptr =
false );
118 const unsigned char* measurePolygon(
const unsigned char* feature,
double* area,
double* perimeter,
bool hasZptr =
false );
131 double* course1 = NULL,
double* course2 = NULL );
137 double computeDistance(
const QList<QgsPoint>& points );
144 double computePolygonArea(
const QList<QgsPoint>& points );
146 double computePolygonFlatArea(
const QList<QgsPoint>& points );
152 void computeAreaInit();
172 double getQ(
double x );
173 double getQbar(
double x );
double ellipsoidSemiMinor() const
returns ellipsoid's semi minor axis
QgsCoordinateTransform * mCoordTransform
used for transforming coordinates from source CRS to ellipsoid's coordinates
A class to represent a point geometry.
double ellipsoidInverseFlattening() const
returns ellipsoid's inverse flattening
General purpose distance and area calculator.
long sourceCrs() const
returns source spatial reference system
const QString & ellipsoid() const
returns ellipsoid's acronym
Class for storing a coordinate reference system (CRS)
UnitType
Map units that qgis supports.
bool mEllipsoidalMode
indicates whether we will transform coordinates
double ellipsoidSemiMajor() const
returns ellipsoid's semi major axis
QString mEllipsoid
ellipsoid acronym (from table tbl_ellipsoids)
bool ellipsoidalEnabled() const
returns projections enabled flag
bool geographic() const
What sort of coordinate system is being used?