mirror of
https://github.com/tumic0/GPXSee.git
synced 2024-11-24 11:45:53 +01:00
PI defines cleanup
This commit is contained in:
parent
a762445bce
commit
025a403c73
@ -271,5 +271,6 @@ win32 {
|
|||||||
icons/plt.ico \
|
icons/plt.ico \
|
||||||
icons/rte.ico \
|
icons/rte.ico \
|
||||||
icons/wpt.ico
|
icons/wpt.ico
|
||||||
|
DEFINES += _USE_MATH_DEFINES
|
||||||
}
|
}
|
||||||
DEFINES += APP_VERSION=\\\"$$VERSION\\\"
|
DEFINES += APP_VERSION=\\\"$$VERSION\\\"
|
||||||
|
@ -4,9 +4,6 @@
|
|||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
#ifndef M_PI
|
|
||||||
#define M_PI 3.14159265358979323846
|
|
||||||
#endif // M_PI
|
|
||||||
#define deg2rad(d) (((d)*M_PI)/180.0)
|
#define deg2rad(d) (((d)*M_PI)/180.0)
|
||||||
#define rad2deg(d) (((d)*180.0)/M_PI)
|
#define rad2deg(d) (((d)*180.0)/M_PI)
|
||||||
|
|
||||||
|
@ -20,10 +20,10 @@ RectC::RectC(const Coordinates ¢er, double radius)
|
|||||||
double deltaLon = asin(sin(radDist) / cos(radlat));
|
double deltaLon = asin(sin(radDist) / cos(radlat));
|
||||||
minLon = radLon - deltaLon;
|
minLon = radLon - deltaLon;
|
||||||
if (minLon < MIN_LON)
|
if (minLon < MIN_LON)
|
||||||
minLon += 2.0 * M_PI;
|
minLon += M_2_PI;
|
||||||
maxLon = radLon + deltaLon;
|
maxLon = radLon + deltaLon;
|
||||||
if (maxLon > MAX_LON)
|
if (maxLon > MAX_LON)
|
||||||
maxLon -= 2.0 * M_PI;
|
maxLon -= M_2_PI;
|
||||||
} else {
|
} else {
|
||||||
// a pole is within the distance
|
// a pole is within the distance
|
||||||
minLat = qMax(minLat, MIN_LAT);
|
minLat = qMax(minLat, MIN_LAT);
|
||||||
|
@ -45,10 +45,6 @@ Defense.
|
|||||||
#include "albersequal.h"
|
#include "albersequal.h"
|
||||||
|
|
||||||
|
|
||||||
#ifndef M_PI_2
|
|
||||||
#define M_PI_2 1.57079632679489661923
|
|
||||||
#endif // M_PI_2
|
|
||||||
|
|
||||||
#define ONE_MINUS_SQR(x) (1.0 - (x) * (x))
|
#define ONE_MINUS_SQR(x) (1.0 - (x) * (x))
|
||||||
#define ALBERS_Q(slat, one_minus_sqr_es_sin, es_sin) \
|
#define ALBERS_Q(slat, one_minus_sqr_es_sin, es_sin) \
|
||||||
(_one_minus_es2 * ((slat) / (one_minus_sqr_es_sin) - \
|
(_one_minus_es2 * ((slat) / (one_minus_sqr_es_sin) - \
|
||||||
@ -128,9 +124,9 @@ PointD AlbersEqual::ll2xy(const Coordinates &c) const
|
|||||||
|
|
||||||
dlam = deg2rad(c.lon()) - _longitudeOrigin;
|
dlam = deg2rad(c.lon()) - _longitudeOrigin;
|
||||||
if (dlam > M_PI)
|
if (dlam > M_PI)
|
||||||
dlam -= 2.0 * M_PI;
|
dlam -= M_2_PI;
|
||||||
if (dlam < -M_PI)
|
if (dlam < -M_PI)
|
||||||
dlam += 2.0 * M_PI;
|
dlam += M_2_PI;
|
||||||
|
|
||||||
sin_lat = sin(deg2rad(c.lat()));
|
sin_lat = sin(deg2rad(c.lat()));
|
||||||
es_sin = _es * sin_lat;
|
es_sin = _es * sin_lat;
|
||||||
@ -216,9 +212,9 @@ Coordinates AlbersEqual::xy2ll(const PointD &p) const
|
|||||||
lon = _longitudeOrigin + theta / _n;
|
lon = _longitudeOrigin + theta / _n;
|
||||||
|
|
||||||
if (lon > M_PI)
|
if (lon > M_PI)
|
||||||
lon -= M_PI * 2;
|
lon -= M_2_PI;
|
||||||
if (lon < -M_PI)
|
if (lon < -M_PI)
|
||||||
lon += M_PI * 2;
|
lon += M_2_PI;
|
||||||
|
|
||||||
if (lon > M_PI)
|
if (lon > M_PI)
|
||||||
lon = M_PI;
|
lon = M_PI;
|
||||||
|
@ -12,12 +12,12 @@
|
|||||||
|
|
||||||
static QPointF ll2m(const Coordinates &c)
|
static QPointF ll2m(const Coordinates &c)
|
||||||
{
|
{
|
||||||
return QPointF(c.lon(), rad2deg(log(tan(M_PI/4.0 + deg2rad(c.lat())/2.0))));
|
return QPointF(c.lon(), rad2deg(log(tan(M_PI_4 + deg2rad(c.lat())/2.0))));
|
||||||
}
|
}
|
||||||
|
|
||||||
static Coordinates m2ll(const QPointF &p)
|
static Coordinates m2ll(const QPointF &p)
|
||||||
{
|
{
|
||||||
return Coordinates(p.x(), rad2deg(2 * atan(exp(deg2rad(p.y()))) - M_PI/2));
|
return Coordinates(p.x(), rad2deg(2.0 * atan(exp(deg2rad(p.y()))) - M_PI_2));
|
||||||
}
|
}
|
||||||
|
|
||||||
static qreal zoom2scale(int zoom)
|
static qreal zoom2scale(int zoom)
|
||||||
|
@ -45,9 +45,6 @@ Defense.
|
|||||||
#include "geocentric.h"
|
#include "geocentric.h"
|
||||||
|
|
||||||
|
|
||||||
#ifndef M_PI_2
|
|
||||||
#define M_PI_2 1.57079632679489661923
|
|
||||||
#endif // M_PI_2
|
|
||||||
#define AD_C 1.0026000
|
#define AD_C 1.0026000
|
||||||
|
|
||||||
Point3D Geocentric::fromGeodetic(const Coordinates &c, const Datum &datum)
|
Point3D Geocentric::fromGeodetic(const Coordinates &c, const Datum &datum)
|
||||||
@ -63,7 +60,7 @@ Point3D Geocentric::fromGeodetic(const Coordinates &c, const Datum &datum)
|
|||||||
double Rn = e->radius() / (sqrt(1.0 - e2 * slat2));
|
double Rn = e->radius() / (sqrt(1.0 - e2 * slat2));
|
||||||
|
|
||||||
if (lon > M_PI)
|
if (lon > M_PI)
|
||||||
lon -= (2 * M_PI);
|
lon -= M_2_PI;
|
||||||
|
|
||||||
return Point3D(Rn * clat * cos(lon), Rn * clat * sin(lon),
|
return Point3D(Rn * clat * cos(lon), Rn * clat * sin(lon),
|
||||||
(Rn * (1 - e2)) * slat);
|
(Rn * (1 - e2)) * slat);
|
||||||
|
@ -45,12 +45,6 @@ Defense.
|
|||||||
#include "ellipsoid.h"
|
#include "ellipsoid.h"
|
||||||
#include "lambertconic.h"
|
#include "lambertconic.h"
|
||||||
|
|
||||||
#ifndef M_PI_2
|
|
||||||
#define M_PI_2 1.57079632679489661923
|
|
||||||
#endif // M_PI_2
|
|
||||||
#ifndef M_PI_4
|
|
||||||
#define M_PI_4 0.785398163397448309616
|
|
||||||
#endif /* M_PI_4 */
|
|
||||||
|
|
||||||
#define LAMBERT_m(clat, essin) (clat / sqrt(1.0 - essin * essin))
|
#define LAMBERT_m(clat, essin) (clat / sqrt(1.0 - essin * essin))
|
||||||
#define LAMBERT2_t(lat, essin, es_over_2) \
|
#define LAMBERT2_t(lat, essin, es_over_2) \
|
||||||
@ -72,7 +66,7 @@ LambertConic1::LambertConic1(const Ellipsoid *ellipsoid, double latitudeOrigin,
|
|||||||
lat_orig = deg2rad(latitudeOrigin);
|
lat_orig = deg2rad(latitudeOrigin);
|
||||||
_longitudeOrigin = deg2rad(longitudeOrigin);
|
_longitudeOrigin = deg2rad(longitudeOrigin);
|
||||||
if (_longitudeOrigin > M_PI)
|
if (_longitudeOrigin > M_PI)
|
||||||
_longitudeOrigin -= 2 * M_PI;
|
_longitudeOrigin -= M_2_PI;
|
||||||
|
|
||||||
_falseEasting = falseEasting;
|
_falseEasting = falseEasting;
|
||||||
_falseNorthing = falseNorthing;
|
_falseNorthing = falseNorthing;
|
||||||
@ -111,9 +105,9 @@ PointD LambertConic1::ll2xy(const Coordinates &c) const
|
|||||||
dlam = deg2rad(c.lon()) - _longitudeOrigin;
|
dlam = deg2rad(c.lon()) - _longitudeOrigin;
|
||||||
|
|
||||||
if (dlam > M_PI)
|
if (dlam > M_PI)
|
||||||
dlam -= 2 * M_PI;
|
dlam -= M_2_PI;
|
||||||
if (dlam < -M_PI)
|
if (dlam < -M_PI)
|
||||||
dlam += 2 * M_PI;
|
dlam += M_2_PI;
|
||||||
|
|
||||||
theta = _n * dlam;
|
theta = _n * dlam;
|
||||||
|
|
||||||
@ -177,13 +171,13 @@ Coordinates LambertConic1::xy2ll(const PointD &p) const
|
|||||||
if (lon - M_PI < 3.5e-6)
|
if (lon - M_PI < 3.5e-6)
|
||||||
lon = M_PI;
|
lon = M_PI;
|
||||||
else
|
else
|
||||||
lon -= 2 * M_PI;
|
lon -= M_2_PI;
|
||||||
}
|
}
|
||||||
if (lon < -M_PI) {
|
if (lon < -M_PI) {
|
||||||
if (fabs(lon + M_PI) < 3.5e-6)
|
if (fabs(lon + M_PI) < 3.5e-6)
|
||||||
lon = -M_PI;
|
lon = -M_PI;
|
||||||
else
|
else
|
||||||
lon += 2 * M_PI;
|
lon += M_2_PI;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fabs(lon) < 2.0e-7)
|
if (fabs(lon) < 2.0e-7)
|
||||||
|
@ -56,7 +56,7 @@ Mercator::Mercator(const Ellipsoid *ellipsoid, double latitudeOrigin,
|
|||||||
_latitudeOrigin = deg2rad(latitudeOrigin);
|
_latitudeOrigin = deg2rad(latitudeOrigin);
|
||||||
_longitudeOrigin = deg2rad(longitudeOrigin);
|
_longitudeOrigin = deg2rad(longitudeOrigin);
|
||||||
if (_longitudeOrigin > M_PI)
|
if (_longitudeOrigin > M_PI)
|
||||||
_longitudeOrigin -= 2*M_PI;
|
_longitudeOrigin -= M_2_PI;
|
||||||
_falseNorthing = falseNorthing;
|
_falseNorthing = falseNorthing;
|
||||||
_falseEasting = falseEasting;
|
_falseEasting = falseEasting;
|
||||||
_es = 2 * ellipsoid->flattening() - ellipsoid->flattening()
|
_es = 2 * ellipsoid->flattening() - ellipsoid->flattening()
|
||||||
@ -85,16 +85,16 @@ PointD Mercator::ll2xy(const Coordinates &c) const
|
|||||||
double pow_temp;
|
double pow_temp;
|
||||||
|
|
||||||
if (lon > M_PI)
|
if (lon > M_PI)
|
||||||
lon -= 2*M_PI;
|
lon -= M_2_PI;
|
||||||
e_x_sinlat = _e * sin(lat);
|
e_x_sinlat = _e * sin(lat);
|
||||||
tan_temp = tan(M_PI / 4.e0 + lat / 2.e0);
|
tan_temp = tan(M_PI_4 + lat / 2.e0);
|
||||||
pow_temp = pow((1.e0 - e_x_sinlat) / (1.e0 + e_x_sinlat), _e / 2.e0);
|
pow_temp = pow((1.e0 - e_x_sinlat) / (1.e0 + e_x_sinlat), _e / 2.e0);
|
||||||
ctanz2 = tan_temp * pow_temp;
|
ctanz2 = tan_temp * pow_temp;
|
||||||
delta_lon = lon - _longitudeOrigin;
|
delta_lon = lon - _longitudeOrigin;
|
||||||
if (delta_lon > M_PI)
|
if (delta_lon > M_PI)
|
||||||
delta_lon -= 2 * M_PI;
|
delta_lon -= M_2_PI;
|
||||||
if (delta_lon < -M_PI)
|
if (delta_lon < -M_PI)
|
||||||
delta_lon += 2 * M_PI;
|
delta_lon += M_2_PI;
|
||||||
|
|
||||||
return PointD(_scaleFactor * _a * delta_lon + _falseEasting,
|
return PointD(_scaleFactor * _a * delta_lon + _falseEasting,
|
||||||
_scaleFactor * _a * log(ctanz2) + _falseNorthing);
|
_scaleFactor * _a * log(ctanz2) + _falseNorthing);
|
||||||
@ -110,13 +110,13 @@ Coordinates Mercator::xy2ll(const PointD &p) const
|
|||||||
dy = p.y() - _falseNorthing;
|
dy = p.y() - _falseNorthing;
|
||||||
dx = p.x() - _falseEasting;
|
dx = p.x() - _falseEasting;
|
||||||
lon = _longitudeOrigin + dx / (_scaleFactor * _a);
|
lon = _longitudeOrigin + dx / (_scaleFactor * _a);
|
||||||
xphi = M_PI / 2.e0 - 2.e0 * atan(1.e0 / exp(dy / (_scaleFactor * _a)));
|
xphi = M_PI_2 - 2.e0 * atan(1.e0 / exp(dy / (_scaleFactor * _a)));
|
||||||
lat = xphi + _ab * sin(2.e0 * xphi) + _bb * sin(4.e0 * xphi)
|
lat = xphi + _ab * sin(2.e0 * xphi) + _bb * sin(4.e0 * xphi)
|
||||||
+ _cb * sin(6.e0 * xphi) + _db * sin(8.e0 * xphi);
|
+ _cb * sin(6.e0 * xphi) + _db * sin(8.e0 * xphi);
|
||||||
if (lon > M_PI)
|
if (lon > M_PI)
|
||||||
lon -= 2 * M_PI;
|
lon -= M_2_PI;
|
||||||
if (lon < -M_PI)
|
if (lon < -M_PI)
|
||||||
lon += 2 * M_PI;
|
lon += M_2_PI;
|
||||||
|
|
||||||
return Coordinates(rad2deg(lon), rad2deg(lat));
|
return Coordinates(rad2deg(lon), rad2deg(lat));
|
||||||
}
|
}
|
||||||
|
@ -12,12 +12,12 @@
|
|||||||
|
|
||||||
static QPointF ll2m(const Coordinates &c)
|
static QPointF ll2m(const Coordinates &c)
|
||||||
{
|
{
|
||||||
return QPointF(c.lon(), rad2deg(log(tan(M_PI/4.0 + deg2rad(c.lat())/2.0))));
|
return QPointF(c.lon(), rad2deg(log(tan(M_PI_4 + deg2rad(c.lat())/2.0))));
|
||||||
}
|
}
|
||||||
|
|
||||||
static Coordinates m2ll(const QPointF &p)
|
static Coordinates m2ll(const QPointF &p)
|
||||||
{
|
{
|
||||||
return Coordinates(p.x(), rad2deg(2 * atan(exp(deg2rad(p.y()))) - M_PI/2));
|
return Coordinates(p.x(), rad2deg(2.0 * atan(exp(deg2rad(p.y()))) - M_PI_2));
|
||||||
}
|
}
|
||||||
|
|
||||||
static QPoint mercator2tile(const QPointF &m, int z)
|
static QPoint mercator2tile(const QPointF &m, int z)
|
||||||
|
@ -109,9 +109,9 @@ PointD TransverseMercator::ll2xy(const Coordinates &c) const
|
|||||||
dlam = deg2rad(c.lon()) - _longitudeOrigin;
|
dlam = deg2rad(c.lon()) - _longitudeOrigin;
|
||||||
|
|
||||||
if (dlam > M_PI)
|
if (dlam > M_PI)
|
||||||
dlam -= (2 * M_PI);
|
dlam -= M_2_PI;
|
||||||
if (dlam < -M_PI)
|
if (dlam < -M_PI)
|
||||||
dlam += (2 * M_PI);
|
dlam += M_2_PI;
|
||||||
if (fabs(dlam) < 2.e-10)
|
if (fabs(dlam) < 2.e-10)
|
||||||
dlam = 0.0;
|
dlam = 0.0;
|
||||||
|
|
||||||
@ -237,20 +237,20 @@ Coordinates TransverseMercator::xy2ll(const PointD &p) const
|
|||||||
lat = M_PI - lat;
|
lat = M_PI - lat;
|
||||||
lon += M_PI;
|
lon += M_PI;
|
||||||
if (lon > M_PI)
|
if (lon > M_PI)
|
||||||
lon -= (2 * M_PI);
|
lon -= M_2_PI;
|
||||||
}
|
}
|
||||||
|
|
||||||
while (lat < deg2rad(-90.0)) {
|
while (lat < deg2rad(-90.0)) {
|
||||||
lat = - (lat + M_PI);
|
lat = - (lat + M_PI);
|
||||||
lon += M_PI;
|
lon += M_PI;
|
||||||
if (lon > M_PI)
|
if (lon > M_PI)
|
||||||
lon -= (2 * M_PI);
|
lon -= M_2_PI;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lon > (2 * M_PI))
|
if (lon > M_2_PI)
|
||||||
lon -= (2 * M_PI);
|
lon -= M_2_PI;
|
||||||
if (lon < -M_PI)
|
if (lon < -M_PI)
|
||||||
lon += (2 * M_PI);
|
lon += M_2_PI;
|
||||||
|
|
||||||
return Coordinates(rad2deg(lon), rad2deg(lat));
|
return Coordinates(rad2deg(lon), rad2deg(lat));
|
||||||
}
|
}
|
||||||
|
@ -6,11 +6,11 @@
|
|||||||
PointD WebMercator::ll2xy(const Coordinates &c) const
|
PointD WebMercator::ll2xy(const Coordinates &c) const
|
||||||
{
|
{
|
||||||
return PointD(deg2rad(c.lon()) * WGS84_RADIUS,
|
return PointD(deg2rad(c.lon()) * WGS84_RADIUS,
|
||||||
log(tan(M_PI/4.0 + deg2rad(c.lat())/2.0)) * WGS84_RADIUS);
|
log(tan(M_PI_4 + deg2rad(c.lat())/2.0)) * WGS84_RADIUS);
|
||||||
}
|
}
|
||||||
|
|
||||||
Coordinates WebMercator::xy2ll(const PointD &p) const
|
Coordinates WebMercator::xy2ll(const PointD &p) const
|
||||||
{
|
{
|
||||||
return Coordinates(rad2deg(p.x() / WGS84_RADIUS),
|
return Coordinates(rad2deg(p.x() / WGS84_RADIUS),
|
||||||
rad2deg(2 * atan(exp(p.y() / WGS84_RADIUS)) - M_PI/2));
|
rad2deg(2.0 * atan(exp(p.y() / WGS84_RADIUS)) - M_PI_2));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user