Map API refactoring
[GPXSee.git] / src / map / utm.cpp
blob4f72198f7a854cc746726205fe97f7dc35de5425
1 #include "ellipsoid.h"
2 #include "utm.h"
4 Projection::Setup UTM::setup(int zone)
6 return Projection::Setup(0, (qAbs(zone) - 1)*6 - 180 + 3, 0.9996, 500000,
7 zone < 0 ? 10000000 : 0, 0, 0);
10 int UTM::zone(const Coordinates &c)
12 int zone = int((c.lon() + 180)/6) + 1;
14 if (c.lat() >= 56.0 && c.lat() < 64.0 && c.lon() >= 3.0 && c.lon() < 12.0)
15 zone = 32;
16 if (c.lat() >= 72.0 && c.lat() < 84.0) {
17 if (c.lon() >= 0.0 && c.lon() < 9.0)
18 zone = 31;
19 else if (c.lon() >= 9.0 && c.lon() < 21.0)
20 zone = 33;
21 else if (c.lon() >= 21.0 && c.lon() < 33.0)
22 zone = 35;
23 else if (c.lon() >= 33.0 && c.lon() < 42.0)
24 zone = 37;
27 return zone;