|
QGIS API Documentation
2.0.1-Dufour
|
Calculates scale for a given combination of canvas size, map extent, and monitor dpi. More...
#include <qgsscalecalculator.h>
Public Member Functions | |
| QgsScaleCalculator (double dpi=0, QGis::UnitType mapUnits=QGis::Meters) | |
| Constructor. | |
| ~QgsScaleCalculator () | |
| Destructor. | |
| void | setDpi (double dpi) |
| Set the dpi to be used in scale calculations. | |
| double | dpi () |
| Accessor for dpi used in scale calculations. | |
| void | setMapUnits (QGis::UnitType mapUnits) |
| Set the map units. | |
| QGis::UnitType | mapUnits () const |
| Returns current map units. | |
| double | calculate (const QgsRectangle &mapExtent, int canvasWidth) |
| Calculate the scale denominator. | |
| double | calculateGeographicDistance (const QgsRectangle &mapExtent) |
| Calculate the distance between two points in geographic coordinates. | |
Private Attributes | |
| double | mDpi |
| dpi member | |
| QGis::UnitType | mMapUnits |
| map unit member | |
Calculates scale for a given combination of canvas size, map extent, and monitor dpi.
Definition at line 31 of file qgsscalecalculator.h.
| QgsScaleCalculator::QgsScaleCalculator | ( | double | dpi = 0, |
| QGis::UnitType | mapUnits = QGis::Meters |
||
| ) |
Constructor.
| dpi | Monitor resolution in dots per inch |
| mapUnits | Units of the data on the map. Must match a value from the QGis::UnitType enum (Meters, Feet, Degrees) |
Definition at line 24 of file qgsscalecalculator.cpp.
| QgsScaleCalculator::~QgsScaleCalculator | ( | ) |
Destructor.
Definition at line 28 of file qgsscalecalculator.cpp.
| double QgsScaleCalculator::calculate | ( | const QgsRectangle & | mapExtent, |
| int | canvasWidth | ||
| ) |
Calculate the scale denominator.
| mapExtent | QgsRectangle containing the current map extent |
| canvasWidth | Width of the map canvas in pixel (physical) units |
Definition at line 52 of file qgsscalecalculator.cpp.
References calculateGeographicDistance(), QGis::Degrees, QGis::Feet, mDpi, QGis::Meters, mMapUnits, QgsDebugMsg, QgsRectangle::xMaximum(), and QgsRectangle::xMinimum().
Referenced by QgsComposerMap::scale(), and QgsMapRenderer::updateScale().
| double QgsScaleCalculator::calculateGeographicDistance | ( | const QgsRectangle & | mapExtent | ) |
Calculate the distance between two points in geographic coordinates.
Used to calculate scale for map views with geographic (decimal degree) data.
| mapExtent | QgsRectangle containing the current map extent |
Definition at line 88 of file qgsscalecalculator.cpp.
References QgsDebugMsg, QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by calculate().
| double QgsScaleCalculator::dpi | ( | ) |
Accessor for dpi used in scale calculations.
Definition at line 35 of file qgsscalecalculator.cpp.
References mDpi.
Referenced by QgsMapRenderer::outputDpi(), QgsMapRenderer::render(), and setDpi().
| QGis::UnitType QgsScaleCalculator::mapUnits | ( | ) | const |
Returns current map units.
Definition at line 46 of file qgsscalecalculator.cpp.
References mMapUnits, and QgsDebugMsgLevel.
Referenced by QgsMapRenderer::mapUnits(), and setMapUnits().
| void QgsScaleCalculator::setDpi | ( | double | dpi | ) |
Set the dpi to be used in scale calculations.
| dpi | Dots per inch of monitor resolution |
Definition at line 31 of file qgsscalecalculator.cpp.
Referenced by QgsComposerMap::scale(), and QgsMapRenderer::setOutputSize().
| void QgsScaleCalculator::setMapUnits | ( | QGis::UnitType | mapUnits | ) |
Set the map units.
| mapUnits | Units of the data on the map. Must match a value from the |
Definition at line 40 of file qgsscalecalculator.cpp.
References mapUnits(), mMapUnits, and QgsDebugMsg.
Referenced by QgsComposerMap::scale(), and QgsMapRenderer::setMapUnits().
|
private |
dpi member
Definition at line 87 of file qgsscalecalculator.h.
Referenced by calculate(), dpi(), and setDpi().
|
private |
map unit member
Definition at line 90 of file qgsscalecalculator.h.
Referenced by calculate(), mapUnits(), and setMapUnits().
1.8.1.2