4 #include "map/mapengine.h"
6 MapEngine::MapEngine(QObject *parent)
12 QPoint MapEngine::tileFromCoordinate(qreal latitude, qreal longitude, int zoom)
15 qreal z = static_cast<qreal>(1 << zoom);
17 qreal x = static_cast<qreal>((longitude + 180.0) / 360.0);
18 qreal y = static_cast<qreal>((1.0 - log(tan(latitude * M_PI / 180.0) + 1.0
19 / cos(latitude * M_PI / 180.0)) / M_PI) / 2.0);
21 qDebug() << x*z << "," << y*z;
22 return QPoint(qFloor(x*z), qFloor(y*z));
25 qreal MapEngine::longitudeFromTileX(int x, int zoom)
27 qreal z = static_cast<qreal>(1 << zoom);
28 qreal lon = x / z * 360.0 - 180.0;
33 qreal MapEngine::latitudeFromTileY(int y, int zoom)
35 qreal z = static_cast<qreal>(1 << zoom);
36 qreal n = M_PI - 2 * M_PI * y / zoom;
37 return 180.0 / (M_PI * atan(0.5 * exp(n) - exp(-n)));