summaryrefslogtreecommitdiff
path: root/src/positioning
diff options
context:
space:
mode:
authorPaolo Angelelli <paolo.angelelli@qt.io>2016-12-02 16:02:31 +0100
committerPaolo Angelelli <paolo.angelelli@qt.io>2017-01-16 16:18:20 +0000
commit5504a4c00ec01fdbc95a862c9bc63a680095daee (patch)
tree5afa841903c4a55e2162a4ebfdb72f75df274944 /src/positioning
parent8879bcdc41eb56aaf164d6b1e0d01b7aeceec460 (diff)
downloadqtlocation-5504a4c00ec01fdbc95a862c9bc63a680095daee.tar.gz
Rename QGeoProjection to QWebMercator
QGeoProjection is currently a class containing only static methods for WebMercator conversion/interpolation. This patch renames it to QWebMercator, effectively freeing the QGeoProjection name for a real projection class Change-Id: I15b71d04f7d1d21a1d26f46687ed33aa277f6deb Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/positioning')
-rw-r--r--src/positioning/positioning.pro6
-rw-r--r--src/positioning/qgeopath.cpp12
-rw-r--r--src/positioning/qgeorectangle.cpp2
-rw-r--r--src/positioning/qlocationutils_p.h4
-rw-r--r--src/positioning/qwebmercator.cpp (renamed from src/positioning/qgeoprojection.cpp)16
-rw-r--r--src/positioning/qwebmercator_p.h (renamed from src/positioning/qgeoprojection_p.h)15
6 files changed, 28 insertions, 27 deletions
diff --git a/src/positioning/positioning.pro b/src/positioning/positioning.pro
index a311e5e1..b5c6ee46 100644
--- a/src/positioning/positioning.pro
+++ b/src/positioning/positioning.pro
@@ -49,7 +49,7 @@ PRIVATE_HEADERS += \
qdeclarativegeolocation_p.h \
qdoublevector2d_p.h \
qdoublevector3d_p.h \
- qgeoprojection_p.h \
+ qwebmercator_p.h \
qpositioningglobal_p.h \
qlocationdata_simulator_p.h \
qgeopath_p.h
@@ -74,9 +74,9 @@ SOURCES += \
qdeclarativegeolocation.cpp \
qdoublevector2d.cpp \
qdoublevector3d.cpp \
- qgeoprojection.cpp \
+ qgeopath.cpp \
qlocationdata_simulator.cpp \
- qgeopath.cpp
+ qwebmercator.cpp
HEADERS += $$PUBLIC_HEADERS $$PRIVATE_HEADERS
diff --git a/src/positioning/qgeopath.cpp b/src/positioning/qgeopath.cpp
index 523a79fb..a8e77e10 100644
--- a/src/positioning/qgeopath.cpp
+++ b/src/positioning/qgeopath.cpp
@@ -43,7 +43,7 @@
#include "qgeocoordinate.h"
#include "qnumeric.h"
#include "qlocationutils_p.h"
-#include "qgeoprojection_p.h"
+#include "qwebmercator_p.h"
#include "qdoublevector2d_p.h"
#include "qdoublevector3d_p.h"
@@ -438,21 +438,21 @@ bool QGeoPathPrivate::contains(const QGeoCoordinate &coordinate) const
else if (m_path.size() == 1)
return (m_path[0].distanceTo(coordinate) <= lineRadius);
- double leftBoundMercator = QGeoProjection::coordToMercator(m_bbox.topLeft()).x();
+ double leftBoundMercator = QWebMercator::coordToMercator(m_bbox.topLeft()).x();
- QDoubleVector2D p = QGeoProjection::coordToMercator(coordinate);
+ QDoubleVector2D p = QWebMercator::coordToMercator(coordinate);
if (p.x() < leftBoundMercator)
p.setX(p.x() + leftBoundMercator); // unwrap X
QDoubleVector2D a;
QDoubleVector2D b;
if (m_path.size()) {
- a = QGeoProjection::coordToMercator(m_path[0]);
+ a = QWebMercator::coordToMercator(m_path[0]);
if (a.x() < leftBoundMercator)
a.setX(a.x() + leftBoundMercator); // unwrap X
}
for (int i = 1; i < m_path.size(); i++) {
- b = QGeoProjection::coordToMercator(m_path[i]);
+ b = QWebMercator::coordToMercator(m_path[i]);
if (b.x() < leftBoundMercator)
b.setX(b.x() + leftBoundMercator); // unwrap X
if (b == a)
@@ -471,7 +471,7 @@ bool QGeoPathPrivate::contains(const QGeoCoordinate &coordinate) const
if (candidate.x() > 1.0)
candidate.setX(candidate.x() - leftBoundMercator); // wrap X
- QGeoCoordinate closest = QGeoProjection::mercatorToCoord(candidate);
+ QGeoCoordinate closest = QWebMercator::mercatorToCoord(candidate);
double distanceMeters = coordinate.distanceTo(closest);
if (distanceMeters <= lineRadius)
diff --git a/src/positioning/qgeorectangle.cpp b/src/positioning/qgeorectangle.cpp
index 1453a6a8..337b4c76 100644
--- a/src/positioning/qgeorectangle.cpp
+++ b/src/positioning/qgeorectangle.cpp
@@ -40,7 +40,7 @@
#include "qgeorectangle.h"
#include "qgeorectangle_p.h"
-#include "qgeoprojection_p.h"
+#include "qwebmercator_p.h"
#include "qdoublevector2d_p.h"
#include "qgeocoordinate.h"
#include "qnumeric.h"
diff --git a/src/positioning/qlocationutils_p.h b/src/positioning/qlocationutils_p.h
index 32addb63..552ec33f 100644
--- a/src/positioning/qlocationutils_p.h
+++ b/src/positioning/qlocationutils_p.h
@@ -53,6 +53,10 @@
#include <QtCore/QtGlobal>
#include <math.h>
+#ifndef M_PI
+#define M_PI 3.14159265358979323846264338327950288
+#endif
+
#ifndef M_1_180
#define M_1_180 0.0055555555555555555555555555555555555555556
#endif
diff --git a/src/positioning/qgeoprojection.cpp b/src/positioning/qwebmercator.cpp
index 507f0805..d22258a7 100644
--- a/src/positioning/qgeoprojection.cpp
+++ b/src/positioning/qwebmercator.cpp
@@ -36,7 +36,7 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include "qgeoprojection_p.h"
+#include "qwebmercator_p.h"
#include "qgeocoordinate.h"
@@ -49,7 +49,7 @@
QT_BEGIN_NAMESPACE
-QDoubleVector2D QGeoProjection::coordToMercator(const QGeoCoordinate &coord)
+QDoubleVector2D QWebMercator::coordToMercator(const QGeoCoordinate &coord)
{
const double pi = M_PI;
@@ -62,13 +62,13 @@ QDoubleVector2D QGeoProjection::coordToMercator(const QGeoCoordinate &coord)
return QDoubleVector2D(lon, lat);
}
-double QGeoProjection::realmod(const double a, const double b)
+double QWebMercator::realmod(const double a, const double b)
{
quint64 div = static_cast<quint64>(a / b);
return a - static_cast<double>(div) * b;
}
-QGeoCoordinate QGeoProjection::mercatorToCoord(const QDoubleVector2D &mercator)
+QGeoCoordinate QWebMercator::mercatorToCoord(const QDoubleVector2D &mercator)
{
const double pi = M_PI;
@@ -101,10 +101,10 @@ QGeoCoordinate QGeoProjection::mercatorToCoord(const QDoubleVector2D &mercator)
return QGeoCoordinate(lat, lng, 0.0);
}
-QGeoCoordinate QGeoProjection::coordinateInterpolation(const QGeoCoordinate &from, const QGeoCoordinate &to, qreal progress)
+QGeoCoordinate QWebMercator::coordinateInterpolation(const QGeoCoordinate &from, const QGeoCoordinate &to, qreal progress)
{
- QDoubleVector2D s = QGeoProjection::coordToMercator(from);
- QDoubleVector2D e = QGeoProjection::coordToMercator(to);
+ QDoubleVector2D s = QWebMercator::coordToMercator(from);
+ QDoubleVector2D e = QWebMercator::coordToMercator(to);
double x = s.x();
@@ -128,7 +128,7 @@ QGeoCoordinate QGeoProjection::coordinateInterpolation(const QGeoCoordinate &fro
double y = (1.0 - progress) * s.y() + progress * e.y();
- QGeoCoordinate result = QGeoProjection::mercatorToCoord(QDoubleVector2D(x, y));
+ QGeoCoordinate result = QWebMercator::mercatorToCoord(QDoubleVector2D(x, y));
result.setAltitude((1.0 - progress) * from.altitude() + progress * to.altitude());
return result;
diff --git a/src/positioning/qgeoprojection_p.h b/src/positioning/qwebmercator_p.h
index b80678b7..8c324710 100644
--- a/src/positioning/qgeoprojection_p.h
+++ b/src/positioning/qwebmercator_p.h
@@ -36,8 +36,8 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#ifndef QGEOPROJECTION_P_H
-#define QGEOPROJECTION_P_H
+#ifndef QWEBMERCATOR_P_H
+#define QWEBMERCATOR_P_H
//
// W A R N I N G
@@ -50,20 +50,17 @@
// We mean it.
//
-#ifndef M_PI
-#define M_PI (3.14159265358979323846)
-#endif
-
#include <qglobal.h>
#include <QtCore/qvariant.h>
-#include "qpositioningglobal.h"
+#include <math.h>
+#include "qpositioningglobal_p.h"
QT_BEGIN_NAMESPACE
class QGeoCoordinate;
class QDoubleVector2D;
-class Q_POSITIONING_EXPORT QGeoProjection
+class Q_POSITIONING_PRIVATE_EXPORT QWebMercator
{
public:
static QDoubleVector2D coordToMercator(const QGeoCoordinate &coord);
@@ -76,4 +73,4 @@ private:
QT_END_NAMESPACE
-#endif // QGEOPROJECTION_P_H
+#endif // QWEBMERCATOR_P_H