QGIS API Documentation  3.21.0-Master (909859188c)
qgscoordinateutils.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgscoordinateutils.h
3  --------------------
4  begin : February 2016
5  copyright : (C) 2016 by Nyall Dawson
6  email : nyall dot dawson at gmail dot com
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef QGSCOORDINATEUTILS_H
19 #define QGSCOORDINATEUTILS_H
20 
21 #define SIP_NO_FILE
22 
23 #include <QString>
24 #include <QObject>
25 
26 #include "qgis_core.h"
27 
28 class QgsPointXY;
30 class QgsProject;
31 class QgsRectangle;
32 
33 //not stable api - I plan on reworking this when QgsCoordinateFormatter lands in 2.16
35 
42 class CORE_EXPORT QgsCoordinateUtils
43 {
44  Q_GADGET
45 
46  public:
47 
62  Q_INVOKABLE static int calculateCoordinatePrecision( double mapUnitsPerPixel, const QgsCoordinateReferenceSystem &mapCrs, QgsProject *project = nullptr );
63 
71  Q_INVOKABLE static int calculateCoordinatePrecisionForCrs( const QgsCoordinateReferenceSystem &crs, QgsProject *project = nullptr );
72 
78  Q_INVOKABLE static QString formatCoordinateForProject( QgsProject *project, const QgsPointXY &point, const QgsCoordinateReferenceSystem &destCrs, int precision );
79 
85  Q_INVOKABLE static QString formatExtentForProject( QgsProject *project, const QgsRectangle &extent, const QgsCoordinateReferenceSystem &destCrs, int precision );
86 
93  Q_INVOKABLE static double dmsToDecimal( const QString &string, bool *ok = nullptr, bool *isEasting = nullptr );
94 
95 };
96 
97 
99 
100 #endif //QGSCOORDINATEUTILS_H
This class represents a coordinate reference system (CRS).
A class to represent a 2D point.
Definition: qgspointxy.h:59
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition: qgsproject.h:101
A rectangle specified with double values.
Definition: qgsrectangle.h:42
const QgsCoordinateReferenceSystem & crs
int precision