Quantum GIS API Documentation  1.8
Public Member Functions | Private Attributes
QgsScaleCalculator Class Reference

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

#include <qgsscalecalculator.h>

List of all members.

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.
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

Detailed Description

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

Definition at line 31 of file qgsscalecalculator.h.


Constructor & Destructor Documentation

Constructor.

Parameters:
dpiMonitor resolution in dots per inch
mapUnitsUnits 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.

Destructor.

Definition at line 28 of file qgsscalecalculator.cpp.


Member Function Documentation

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

Calculate the scale.

Parameters:
mapExtentQgsRectangle containing the current map extent
canvasWidthWidth of the map canvas in pixel (physical) units
Returns:
scale of current map view

Definition at line 52 of file qgsscalecalculator.cpp.

References calculateGeographicDistance(), QGis::DecimalDegrees, QGis::DegreesDecimalMinutes, QGis::DegreesMinutesSeconds, QGis::Feet, mDpi, QGis::Meters, mMapUnits, QgsDebugMsg, QgsRectangle::xMaximum(), and QgsRectangle::xMinimum().

Referenced by QgsComposerMap::scale(), and QgsMapRenderer::updateScale().

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 99 of file qgsscalecalculator.cpp.

References QgsDebugMsg, QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().

Referenced by calculate().

Accessor for dpi used in scale calculations.

Returns:
int the dpi used for scale calculations.

Definition at line 35 of file qgsscalecalculator.cpp.

References mDpi.

Referenced by QgsMapRenderer::outputDpi(), QgsMapRenderer::render(), and setDpi().

Returns current map units.

Definition at line 46 of file qgsscalecalculator.cpp.

References mMapUnits, and QgsDebugMsgLevel.

Referenced by QgsMapRenderer::mapUnits(), QgsMapRenderer::render(), and setMapUnits().

void QgsScaleCalculator::setDpi ( double  dpi)

Set the dpi to be used in scale calculations.

Parameters:
dpiDots per inch of monitor resolution

Definition at line 31 of file qgsscalecalculator.cpp.

References dpi(), and mDpi.

Referenced by QgsComposerMap::scale(), and QgsMapRenderer::setOutputSize().

Set the map units.

Parameters:
mapUnitsUnits 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().


Member Data Documentation

double QgsScaleCalculator::mDpi [private]

dpi member

Definition at line 86 of file qgsscalecalculator.h.

Referenced by calculate(), dpi(), and setDpi().

map unit member

Definition at line 89 of file qgsscalecalculator.h.

Referenced by calculate(), mapUnits(), and setMapUnits().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines