QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
qgsscalecalculator.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsscalecalculator.h
3
Calculates scale based on map extent and units
4
-------------------
5
begin : May 18, 2004
6
copyright : (C) 2004 by Gary E.Sherman
7
email : sherman at mrcc.com
8
***************************************************************************/
9
10
/***************************************************************************
11
* *
12
* This program is free software; you can redistribute it and/or modify *
13
* it under the terms of the GNU General Public License as published by *
14
* the Free Software Foundation; either version 2 of the License, or *
15
* (at your option) any later version. *
16
* *
17
***************************************************************************/
18
19
#ifndef QGSSCALECALCULATOR_H
20
#define QGSSCALECALCULATOR_H
21
22
#include "
qgis.h
"
23
#include "qgis_core.h"
24
#include "
qgis_sip.h
"
25
#include "
qgsellipsoidutils.h
"
26
27
class
QString;
28
class
QgsRectangle
;
37
class
CORE_EXPORT
QgsScaleCalculator
38
{
39
public
:
45
QgsScaleCalculator
(
double
dpi
= 0,
Qgis::DistanceUnit
mapUnits
=
Qgis::DistanceUnit::Meters
);
46
47
54
Qgis::ScaleCalculationMethod
method
()
const
{
return
mMethod; }
55
62
void
setMethod(
Qgis::ScaleCalculationMethod
method );
63
68
void
setDpi(
double
dpi );
69
74
double
dpi()
const
;
75
81
void
setMapUnits(
Qgis::DistanceUnit
mapUnits );
82
88
Qgis::DistanceUnit
mapUnits()
const
;
89
96
void
setEllipsoid(
const
QString &ellipsoid );
97
103
QString
ellipsoid
()
const
{
return
mEllipsoidDefinition.acronym; }
104
113
double
calculate(
const
QgsRectangle
&mapExtent,
double
canvasWidth )
const
;
114
124
QSizeF calculateImageSize(
const
QgsRectangle
&mapExtent,
double
scale )
const
;
125
137
double
calculateGeographicDistance(
const
QgsRectangle
&mapExtent )
const
;
138
153
double
calculateGeographicDistanceAtLatitude(
double
latitude,
double
longitude1,
double
longitude2 )
const
;
154
155
private
:
157
void
calculateMetrics(
const
QgsRectangle
&mapExtent,
double
&delta,
double
&conversionFactor )
const
;
158
159
// Must be horizontal middle by default, for stable API compatibility
160
Qgis::ScaleCalculationMethod
mMethod =
Qgis::ScaleCalculationMethod::HorizontalMiddle
;
161
163
double
mDpi = 96;
164
166
Qgis::DistanceUnit
mMapUnits =
Qgis::DistanceUnit::Unknown
;
167
169
QgsEllipsoidUtils::EllipsoidDefinition
mEllipsoidDefinition;
170
};
171
172
#endif
// #ifndef QGSSCALECALCULATOR_H
Qgis::DistanceUnit
DistanceUnit
Units of distance.
Definition
qgis.h:5568
Qgis::DistanceUnit::Meters
@ Meters
Meters.
Definition
qgis.h:5569
Qgis::DistanceUnit::Unknown
@ Unknown
Unknown distance unit.
Definition
qgis.h:5618
Qgis::ScaleCalculationMethod
ScaleCalculationMethod
Scale calculation logic.
Definition
qgis.h:5865
Qgis::ScaleCalculationMethod::HorizontalMiddle
@ HorizontalMiddle
Calculate horizontally, across midle of map.
Definition
qgis.h:5867
QgsRectangle
A rectangle specified with double values.
Definition
qgsrectangle.h:47
QgsScaleCalculator::ellipsoid
QString ellipsoid() const
Returns ellipsoid's acronym.
Definition
qgsscalecalculator.h:103
QgsScaleCalculator::method
Qgis::ScaleCalculationMethod method() const
Returns the method to use for map scale calculations.
Definition
qgsscalecalculator.h:54
QgsScaleCalculator::dpi
double dpi() const
Returns the DPI (dots per inch) used in scale calculations.
Definition
qgsscalecalculator.cpp:50
QgsScaleCalculator::mapUnits
Qgis::DistanceUnit mapUnits() const
Returns current map units.
Definition
qgsscalecalculator.cpp:61
QgsScaleCalculator::QgsScaleCalculator
QgsScaleCalculator(double dpi=0, Qgis::DistanceUnit mapUnits=Qgis::DistanceUnit::Meters)
Constructor.
Definition
qgsscalecalculator.cpp:33
qgis.h
qgis_sip.h
qgsellipsoidutils.h
QgsEllipsoidUtils::EllipsoidDefinition
Contains definition of an ellipsoid.
Definition
qgsellipsoidutils.h:65
Generated on
for QGIS API Documentation by
1.17.0