QGIS API Documentation  3.37.0-Master (a5b4d9743e8)
Public Member Functions | List of all members
QgsScaleCalculator Class Reference

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. More...
 
double calculate (const QgsRectangle &mapExtent, double canvasWidth) const
 Calculate the scale denominator. More...
 
double calculateGeographicDistance (const QgsRectangle &mapExtent) const
 Calculate the distance between two points in geographic coordinates. More...
 
QSizeF calculateImageSize (const QgsRectangle &mapExtent, double scale) const
 Calculate the image size in pixel (physical) units. More...
 
double dpi () const
 Returns the DPI (dots per inch) used in scale calculations. More...
 
Qgis::DistanceUnit mapUnits () const
 Returns current map units. More...
 
void setDpi (double dpi)
 Sets the dpi (dots per inch) for the output resolution, to be used in scale calculations. More...
 
void setMapUnits (Qgis::DistanceUnit mapUnits)
 Set the map units. More...
 

Detailed Description

Calculates scale for a given combination of canvas size, map extent, and monitor dpi.

Definition at line 34 of file qgsscalecalculator.h.

Constructor & Destructor Documentation

◆ QgsScaleCalculator()

QgsScaleCalculator::QgsScaleCalculator ( double  dpi = 0,
Qgis::DistanceUnit  mapUnits = Qgis::DistanceUnit::Meters 
)

Constructor.

Parameters
dpiMonitor resolution in dots per inch
mapUnitsUnits of the data on the map

Definition at line 26 of file qgsscalecalculator.cpp.

Member Function Documentation

◆ calculate()

double QgsScaleCalculator::calculate ( const QgsRectangle mapExtent,
double  canvasWidth 
) const

Calculate the scale denominator.

Parameters
mapExtentQgsRectangle containing the current map extent. Units are specified by mapUnits().
canvasWidthWidth of the map canvas in pixel (physical) units
Returns
scale denominator of current map view, e.g. 1000.0 for a 1:1000 map.

Definition at line 52 of file qgsscalecalculator.cpp.

◆ calculateGeographicDistance()

double QgsScaleCalculator::calculateGeographicDistance ( const QgsRectangle mapExtent) const

Calculate the distance between two points in geographic coordinates.

Used to calculate scale for map views with geographic (decimal degree) data.

Parameters
mapExtentQgsRectangle containing the current map extent

Definition at line 124 of file qgsscalecalculator.cpp.

◆ calculateImageSize()

QSizeF QgsScaleCalculator::calculateImageSize ( const QgsRectangle mapExtent,
double  scale 
) const

Calculate the image size in pixel (physical) units.

Parameters
mapExtentQgsRectangle containing the current map extent. Units are specified by mapUnits()
scaleScale denominator, e.g. 1000.0 for a 1:1000 map
Returns
image size
Since
QGIS 3.24

Definition at line 69 of file qgsscalecalculator.cpp.

◆ dpi()

double QgsScaleCalculator::dpi ( ) const

Returns the DPI (dots per inch) used in scale calculations.

See also
setDpi()

Definition at line 35 of file qgsscalecalculator.cpp.

◆ mapUnits()

Qgis::DistanceUnit QgsScaleCalculator::mapUnits ( ) const

Returns current map units.

See also
setMapUnits()

Definition at line 46 of file qgsscalecalculator.cpp.

◆ setDpi()

void QgsScaleCalculator::setDpi ( double  dpi)

Sets the dpi (dots per inch) for the output resolution, to be used in scale calculations.

See also
dpi()

Definition at line 31 of file qgsscalecalculator.cpp.

◆ setMapUnits()

void QgsScaleCalculator::setMapUnits ( Qgis::DistanceUnit  mapUnits)

Set the map units.

See also
mapUnits()

Definition at line 40 of file qgsscalecalculator.cpp.


The documentation for this class was generated from the following files: