QGIS API Documentation 3.43.0-Master (c67cf405802)
|
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::DistanceUnit mapUnits=Qgis::DistanceUnit::Meters) | |
Constructor. | |
double | calculate (const QgsRectangle &mapExtent, double canvasWidth) const |
Calculate the scale denominator. | |
double | calculateGeographicDistance (const QgsRectangle &mapExtent) const |
Calculate the distance in meters, horizontally across the specified map extent (in geographic coordinates). | |
double | calculateGeographicDistanceAtLatitude (double latitude, double longitude1, double longitude2) const |
Calculate the distance in meters, horizontally between two longitudes at a specified latitude. | |
QSizeF | calculateImageSize (const QgsRectangle &mapExtent, double scale) const |
Calculate the image size in pixel (physical) units. | |
double | dpi () const |
Returns the DPI (dots per inch) used in scale calculations. | |
Qgis::DistanceUnit | mapUnits () const |
Returns current map units. | |
Qgis::ScaleCalculationMethod | method () const |
Returns the method to use for map scale calculations. | |
void | setDpi (double dpi) |
Sets the dpi (dots per inch) for the output resolution, to be used in scale calculations. | |
void | setMapUnits (Qgis::DistanceUnit mapUnits) |
Set the map units. | |
void | setMethod (Qgis::ScaleCalculationMethod method) |
Sets the method to use for map scale calculations. | |
Calculates scale for a given combination of canvas size, map extent, and monitor dpi.
The calculation defaults to using the scale calculated horizontally across the center of the map, however this may be changed by calling setMethod().
Definition at line 37 of file qgsscalecalculator.h.
QgsScaleCalculator::QgsScaleCalculator | ( | double | dpi = 0 , |
Qgis::DistanceUnit | mapUnits = Qgis::DistanceUnit::Meters |
||
) |
Constructor.
dpi | Monitor resolution in dots per inch |
mapUnits | Units of the data on the map |
Definition at line 26 of file qgsscalecalculator.cpp.
double QgsScaleCalculator::calculate | ( | const QgsRectangle & | mapExtent, |
double | canvasWidth | ||
) | const |
Calculate the scale denominator.
mapExtent | QgsRectangle containing the current map extent. Units are specified by mapUnits(). |
canvasWidth | Width of the map canvas in pixel (physical) units |
Definition at line 57 of file qgsscalecalculator.cpp.
double QgsScaleCalculator::calculateGeographicDistance | ( | const QgsRectangle & | mapExtent | ) | const |
Calculate the distance in meters, horizontally across the specified map extent (in geographic coordinates).
Used to calculate scale for map views with geographic (decimal degree) data.
This method respects the scale method().
mapExtent | the map extent, in geographic (degrees) coordinates |
Definition at line 168 of file qgsscalecalculator.cpp.
double QgsScaleCalculator::calculateGeographicDistanceAtLatitude | ( | double | latitude, |
double | longitude1, | ||
double | longitude2 | ||
) | const |
Calculate the distance in meters, horizontally between two longitudes at a specified latitude.
Used to calculate scale for map views with geographic (decimal degree) data.
latitude | latitude (in degrees) to calculate distance at |
longitude1 | first longitude (left side of map, or x-minimum) to calculate distance between |
longitude2 | second longitude (right side of map, or x-maximum) to calculate distance between |
Definition at line 203 of file qgsscalecalculator.cpp.
QSizeF QgsScaleCalculator::calculateImageSize | ( | const QgsRectangle & | mapExtent, |
double | scale | ||
) | const |
Calculate the image size in pixel (physical) units.
mapExtent | QgsRectangle containing the current map extent. Units are specified by mapUnits() |
scale | Scale denominator, e.g. 1000.0 for a 1:1000 map |
Definition at line 74 of file qgsscalecalculator.cpp.
double QgsScaleCalculator::dpi | ( | ) | const |
Returns the DPI (dots per inch) used in scale calculations.
Definition at line 40 of file qgsscalecalculator.cpp.
Qgis::DistanceUnit QgsScaleCalculator::mapUnits | ( | ) | const |
Returns current map units.
Definition at line 51 of file qgsscalecalculator.cpp.
|
inline |
Returns the method to use for map scale calculations.
Definition at line 56 of file qgsscalecalculator.h.
void QgsScaleCalculator::setDpi | ( | double | dpi | ) |
Sets the dpi (dots per inch) for the output resolution, to be used in scale calculations.
Definition at line 36 of file qgsscalecalculator.cpp.
void QgsScaleCalculator::setMapUnits | ( | Qgis::DistanceUnit | mapUnits | ) |
void QgsScaleCalculator::setMethod | ( | Qgis::ScaleCalculationMethod | method | ) |
Sets the method to use for map scale calculations.
Definition at line 31 of file qgsscalecalculator.cpp.