QGIS API Documentation 4.3.0-Master (45633be667c)
Loading...
Searching...
No Matches
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
22#include "qgis_core.h"
23
24#include <QObject>
25#include <QString>
26
27#define SIP_NO_FILE
28
29class QgsPointXY;
31class QgsProject;
32class QgsRectangle;
33
34//not stable api - I plan on reworking this when QgsCoordinateFormatter lands in 2.16
36
42class CORE_EXPORT QgsCoordinateUtils
43{
44 Q_GADGET
45
46 public:
58 Q_INVOKABLE static int calculateCoordinatePrecision( double mapUnitsPerPixel, const QgsCoordinateReferenceSystem &mapCrs, QgsProject *project );
59
60 // TODO QGIS 5.0 -- remove this deprecated method
67 Q_DECL_DEPRECATED Q_INVOKABLE static int calculateCoordinatePrecision( double mapUnitsPerPixel, const QgsCoordinateReferenceSystem &mapCrs );
68
81 Q_INVOKABLE static int calculateCoordinatePrecisionForCrs( const QgsCoordinateReferenceSystem &crs, QgsProject *project );
82
83 // TODO QGIS 5.0 -- remove this deprecated method
92 Q_DECL_DEPRECATED Q_INVOKABLE static int calculateCoordinatePrecisionForCrs( const QgsCoordinateReferenceSystem &crs );
93
101 Q_INVOKABLE static int calculateCoordinatePrecision( const QgsCoordinateReferenceSystem &crs );
102
112 Q_INVOKABLE static QString formatCoordinateForProject( QgsProject *project, const QgsPointXY &point, const QgsCoordinateReferenceSystem &destCrs, int precision );
113
123 Q_INVOKABLE static void formatCoordinatePartsForProject( QgsProject *project, const QgsPointXY &point, const QgsCoordinateReferenceSystem &destCrs, int precision, QString &x, QString &y );
124
130 Q_INVOKABLE static QString formatExtentForProject( QgsProject *project, const QgsRectangle &extent, const QgsCoordinateReferenceSystem &destCrs, int precision );
131
138 Q_INVOKABLE static double dmsToDecimal( const QString &string, bool *ok = nullptr, bool *isEasting = nullptr );
139
146 Q_INVOKABLE static double degreeToDecimal( const QString &string, bool *ok = nullptr, bool *isEasting = nullptr );
147};
148
149
151
152#endif //QGSCOORDINATEUTILS_H
Represents a coordinate reference system (CRS).
Represents a 2D point.
Definition qgspointxy.h:62
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition qgsproject.h:114
A rectangle specified with double values.