QGIS API Documentation
2.12.0-Lyon
|
General purpose distance and area calculator. More...
#include <qgsdistancearea.h>
Public Member Functions | |
QgsDistanceArea () | |
Constructor. More... | |
QgsDistanceArea (const QgsDistanceArea &origDA) | |
Copy constructor. More... | |
~QgsDistanceArea () | |
Destructor. More... | |
double | bearing (const QgsPoint &p1, const QgsPoint &p2) const |
compute bearing - in radians More... | |
void | convertMeasurement (double &measure, QGis::UnitType &measureUnits, QGis::UnitType displayUnits, bool isArea) const |
Helper for conversion between physical units. More... | |
const QString & | ellipsoid () const |
returns ellipsoid's acronym More... | |
bool | ellipsoidalEnabled () const |
returns projections enabled flag More... | |
double | ellipsoidInverseFlattening () const |
returns ellipsoid's inverse flattening More... | |
double | ellipsoidSemiMajor () const |
returns ellipsoid's semi major axis More... | |
double | ellipsoidSemiMinor () const |
returns ellipsoid's semi minor axis More... | |
bool | geographic () const |
What sort of coordinate system is being used? More... | |
Q_DECL_DEPRECATED double | measure (const QgsGeometry *geometry) const |
General measurement (line distance or polygon area) More... | |
double | measureArea (const QgsGeometry *geometry) const |
Measures the area of a geometry. More... | |
double | measureLength (const QgsGeometry *geometry) const |
Measures the length of a geometry. More... | |
double | measureLine (const QList< QgsPoint > &points) const |
measures line More... | |
double | measureLine (const QgsPoint &p1, const QgsPoint &p2) const |
Measures length of line with one segment. More... | |
double | measureLine (const QgsPoint &p1, const QgsPoint &p2, QGis::UnitType &units) const |
Measures length of line with one segment and returns units of distance. More... | |
double | measurePerimeter (const QgsGeometry *geometry) const |
measures perimeter of polygon More... | |
double | measurePolygon (const QList< QgsPoint > &points) const |
measures polygon area More... | |
QgsDistanceArea & | operator= (const QgsDistanceArea &origDA) |
Assignment operator. More... | |
bool | setEllipsoid (const QString &ellipsoid) |
sets ellipsoid by its acronym More... | |
bool | setEllipsoid (double semiMajor, double semiMinor) |
Sets ellipsoid by supplied radii. More... | |
void | setEllipsoidalMode (bool flag) |
sets whether coordinates must be projected to ellipsoid before measuring More... | |
void | setSourceAuthId (const QString &authid) |
sets source spatial reference system by authid More... | |
void | setSourceCrs (long srsid) |
sets source spatial reference system (by QGIS CRS) More... | |
void | setSourceCrs (const QgsCoordinateReferenceSystem &srcCRS) |
Sets source spatial reference system (by QGIS CRS) More... | |
long | sourceCrs () const |
returns source spatial reference system More... | |
Static Public Member Functions | |
static QString | textUnit (double value, int decimals, QGis::UnitType u, bool isArea, bool keepBaseUnit=false) |
Protected Member Functions | |
void | computeAreaInit () |
precalculates some values (must be called always when changing ellipsoid) More... | |
double | computeDistance (const QList< QgsPoint > &points) const |
calculate distance with given coordinates (does not do a transform anymore) More... | |
double | computeDistanceBearing (const QgsPoint &p1, const QgsPoint &p2, double *course1=NULL, double *course2=NULL) const |
calculates distance from two points on ellipsoid based on inverse Vincenty's formulae More... | |
double | computeDistanceFlat (const QgsPoint &p1, const QgsPoint &p2) const |
uses flat / planimetric / Euclidean distance More... | |
double | computePolygonArea (const QList< QgsPoint > &points) const |
calculates area of polygon on ellipsoid algorithm has been taken from GRASS: gis/area_poly1.c More... | |
double | computePolygonFlatArea (const QList< QgsPoint > &points) const |
const unsigned char * | measurePolygon (const unsigned char *feature, double *area, double *perimeter, bool hasZptr=false) const |
measures polygon area and perimeter, vertices are extracted from WKB More... | |
General purpose distance and area calculator.
Definition at line 36 of file qgsdistancearea.h.
QgsDistanceArea::QgsDistanceArea | ( | ) |
Constructor.
Definition at line 47 of file qgsdistancearea.cpp.
QgsDistanceArea::~QgsDistanceArea | ( | ) |
Destructor.
Definition at line 64 of file qgsdistancearea.cpp.
QgsDistanceArea::QgsDistanceArea | ( | const QgsDistanceArea & | origDA | ) |
Copy constructor.
Definition at line 58 of file qgsdistancearea.cpp.
compute bearing - in radians
Definition at line 668 of file qgsdistancearea.cpp.
|
protected |
precalculates some values (must be called always when changing ellipsoid)
Definition at line 841 of file qgsdistancearea.cpp.
calculate distance with given coordinates (does not do a transform anymore)
Definition at line 775 of file qgsdistancearea.cpp.
|
protected |
calculates distance from two points on ellipsoid based on inverse Vincenty's formulae
Points p1 and p2 are expected to be in degrees and in currently used ellipsoid
Definition at line 693 of file qgsdistancearea.cpp.
|
protected |
uses flat / planimetric / Euclidean distance
Definition at line 770 of file qgsdistancearea.cpp.
calculates area of polygon on ellipsoid algorithm has been taken from GRASS: gis/area_poly1.c
Definition at line 876 of file qgsdistancearea.cpp.
Definition at line 933 of file qgsdistancearea.cpp.
void QgsDistanceArea::convertMeasurement | ( | double & | measure, |
QGis::UnitType & | measureUnits, | ||
QGis::UnitType | displayUnits, | ||
bool | isArea | ||
) | const |
Helper for conversion between physical units.
Definition at line 1083 of file qgsdistancearea.cpp.
|
inline |
returns ellipsoid's acronym
Definition at line 82 of file qgsdistancearea.h.
|
inline |
returns projections enabled flag
Definition at line 55 of file qgsdistancearea.h.
|
inline |
returns ellipsoid's inverse flattening
Definition at line 89 of file qgsdistancearea.h.
|
inline |
returns ellipsoid's semi major axis
Definition at line 85 of file qgsdistancearea.h.
|
inline |
returns ellipsoid's semi minor axis
Definition at line 87 of file qgsdistancearea.h.
|
inline |
What sort of coordinate system is being used?
Definition at line 72 of file qgsdistancearea.h.
double QgsDistanceArea::measure | ( | const QgsGeometry * | geometry | ) | const |
General measurement (line distance or polygon area)
Definition at line 347 of file qgsdistancearea.cpp.
double QgsDistanceArea::measureArea | ( | const QgsGeometry * | geometry | ) | const |
Measures the area of a geometry.
geometry | geometry to measure |
Definition at line 356 of file qgsdistancearea.cpp.
double QgsDistanceArea::measureLength | ( | const QgsGeometry * | geometry | ) | const |
Measures the length of a geometry.
geometry | geometry to measure |
Definition at line 365 of file qgsdistancearea.cpp.
measures line
Definition at line 446 of file qgsdistancearea.cpp.
Measures length of line with one segment.
p1 | start of line |
p2 | end of line |
Definition at line 488 of file qgsdistancearea.cpp.
double QgsDistanceArea::measureLine | ( | const QgsPoint & | p1, |
const QgsPoint & | p2, | ||
QGis::UnitType & | units | ||
) | const |
Measures length of line with one segment and returns units of distance.
p1 | start of line |
p2 | end of line |
units | will be set to units of measure |
Definition at line 494 of file qgsdistancearea.cpp.
double QgsDistanceArea::measurePerimeter | ( | const QgsGeometry * | geometry | ) | const |
measures perimeter of polygon
Definition at line 374 of file qgsdistancearea.cpp.
measures polygon area
Definition at line 641 of file qgsdistancearea.cpp.
|
protected |
measures polygon area and perimeter, vertices are extracted from WKB
Definition at line 532 of file qgsdistancearea.cpp.
QgsDistanceArea & QgsDistanceArea::operator= | ( | const QgsDistanceArea & | origDA | ) |
Assignment operator.
Definition at line 70 of file qgsdistancearea.cpp.
bool QgsDistanceArea::setEllipsoid | ( | const QString & | ellipsoid | ) |
sets ellipsoid by its acronym
Definition at line 120 of file qgsdistancearea.cpp.
bool QgsDistanceArea::setEllipsoid | ( | double | semiMajor, |
double | semiMinor | ||
) |
Sets ellipsoid by supplied radii.
Definition at line 254 of file qgsdistancearea.cpp.
void QgsDistanceArea::setEllipsoidalMode | ( | bool | flag | ) |
sets whether coordinates must be projected to ellipsoid before measuring
Definition at line 96 of file qgsdistancearea.cpp.
void QgsDistanceArea::setSourceAuthId | ( | const QString & | authid | ) |
sets source spatial reference system by authid
Definition at line 113 of file qgsdistancearea.cpp.
void QgsDistanceArea::setSourceCrs | ( | long | srsid | ) |
sets source spatial reference system (by QGIS CRS)
Definition at line 101 of file qgsdistancearea.cpp.
void QgsDistanceArea::setSourceCrs | ( | const QgsCoordinateReferenceSystem & | srcCRS | ) |
Sets source spatial reference system (by QGIS CRS)
Definition at line 108 of file qgsdistancearea.cpp.
|
inline |
returns source spatial reference system
Definition at line 70 of file qgsdistancearea.h.
|
static |
Definition at line 954 of file qgsdistancearea.cpp.