16 #ifndef QGSDISTANCEAREA_H
17 #define QGSDISTANCEAREA_H
50 void setEllipsoidalMode(
bool flag );
56 void setSourceCrs(
long srsid );
59 void setSourceAuthId( QString authid );
64 bool geographic() {
return mCoordTransform->sourceCrs().geographicFlag(); }
67 bool setEllipsoid(
const QString& ellipsoid );
71 bool setEllipsoid(
double semiMajor,
double semiMinor );
90 double measureLine(
const QList<QgsPoint>& points );
96 double measurePolygon(
const QList<QgsPoint>& points );
101 static QString textUnit(
double value,
int decimals,
QGis::UnitType u,
bool isArea,
bool keepBaseUnit =
false );
108 const unsigned char* measureLine(
const unsigned char* feature,
double* area,
bool hasZptr =
false );
110 const unsigned char* measurePolygon(
const unsigned char* feature,
double* area,
double* perimeter,
bool hasZptr =
false );
123 double* course1 = NULL,
double* course2 = NULL );
131 double computePolygonArea(
const QList<QgsPoint>& points );
133 double computePolygonFlatArea(
const QList<QgsPoint>& points );
139 void computeAreaInit();
162 double getQ(
double x );
163 double getQbar(
double x );
QgsCoordinateTransform * mCoordTransform
used for transforming coordinates from source CRS to ellipsoid's coordinates
A geometry is the spatial representation of a feature.
const QString & ellipsoid()
returns ellipsoid's acronym
long sourceCrs()
returns source spatial reference system
A class to represent a point geometry.
General purpose distance and area calculator.
bool geographic()
What sort of coordinate system is being used?
double ellipsoidSemiMinor()
returns ellipsoid's semi minor axis
UnitType
Map units that qgis supports.
double ellipsoidInverseFlattening()
returns ellipsoid's inverse flattening
bool mEllipsoidalMode
indicates whether we will transform coordinates
double ellipsoidSemiMajor()
returns ellipsoid's semi major axis
long mSourceRefSys
id of the source spatial reference system
QString mEllipsoid
ellipsoid acronym (from table tbl_ellipsoids)
bool ellipsoidalEnabled() const
returns projections enabled flag