1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2024-11-30 22:51:16 +01:00

Compare commits

...

3 Commits

Author SHA1 Message Date
7d47f243ea
Added Orux maps to supported offline maps 2022-08-11 01:02:58 +02:00
18c2613302 Updated Qt6 version to Qt 6.3 2022-08-11 00:11:40 +02:00
e2bdc1aae6 Added support for RD grid and Ellipsoidal mercator projections
+ removed (aparently) unsupported projections
2022-08-11 00:04:45 +02:00
3 changed files with 21 additions and 29 deletions

View File

@ -11,7 +11,7 @@ environment:
OPENSSLDIR: C:\OpenSSL-v111-Win64\bin OPENSSLDIR: C:\OpenSSL-v111-Win64\bin
matrix: matrix:
- QTDIR: C:\Qt\5.15\msvc2019_64 - QTDIR: C:\Qt\5.15\msvc2019_64
- QTDIR: C:\Qt\6.2\msvc2019_64 - QTDIR: C:\Qt\6.3\msvc2019_64
NSISDEF: /DQT6 NSISDEF: /DQT6
install: install:

View File

@ -11,7 +11,8 @@ GPS log file formats.
* Offline maps (MBTiles, OziExplorer maps, TrekBuddy maps/atlases, * Offline maps (MBTiles, OziExplorer maps, TrekBuddy maps/atlases,
Garmin IMG/GMAP & JNX maps, TwoNav RMaps, GeoTIFF images, BSB charts, KMZ maps, Garmin IMG/GMAP & JNX maps, TwoNav RMaps, GeoTIFF images, BSB charts, KMZ maps,
AlpineQuest maps, Locus/OsmAnd/RMaps SQLite maps, Mapsforge vector maps, AlpineQuest maps, Locus/OsmAnd/RMaps SQLite maps, Mapsforge vector maps,
QCT maps, GEMF maps, Osmdroid SQLite maps, ESRI World-File georeferenced images). QCT maps, GEMF maps, Osmdroid SQLite maps, Orux maps,
ESRI World-File georeferenced images).
* Elevation, speed, heart rate, cadence, power, temperature and gear ratio/shifts * Elevation, speed, heart rate, cadence, power, temperature and gear ratio/shifts
graphs. graphs.
* Support for DEM files (SRTM HGT). * Support for DEM files (SRTM HGT).

View File

@ -151,6 +151,19 @@ static Projection::Setup utm2setup(const QStringList &list)
return ok ? UTM::setup(zone) : Projection::Setup(); return ok ? UTM::setup(zone) : Projection::Setup();
} }
static Projection::Setup mercator2setup(const QStringList &list)
{
double lon;
bool ok;
if (list.size() < 2)
return Projection::Setup(0, 0, NAN, 0, 0, NAN, NAN);
lon = list.at(1).toDouble(&ok);
return ok ? Projection::Setup(0, lon, NAN, 0, 0, NAN, NAN)
: Projection::Setup();
}
static GCS createGCS(const QString &datum) static GCS createGCS(const QString &datum)
{ {
QStringList dl(datum.split(':')); QStringList dl(datum.split(':'));
@ -168,6 +181,8 @@ static Projection createProjection(const GCS &gcs, const QString &name)
pcs = PCS(gcs, 9807, utm2setup(pl), 9001); pcs = PCS(gcs, 9807, utm2setup(pl), 9001);
else if (pl.first() == "Mercator") else if (pl.first() == "Mercator")
pcs = PCS(gcs, 1024, Projection::Setup(), 9001); pcs = PCS(gcs, 1024, Projection::Setup(), 9001);
else if (pl.first() == "Mercator Ellipsoidal")
pcs = PCS(gcs, 9804, mercator2setup(pl), 9001);
else if (pl.first() == "Transverse Mercator") else if (pl.first() == "Transverse Mercator")
pcs = PCS(gcs, 9807, tm2setup(pl), 9001); pcs = PCS(gcs, 9807, tm2setup(pl), 9001);
else if (pl.first() == "Lambert Conformal Conic") else if (pl.first() == "Lambert Conformal Conic")
@ -176,39 +191,15 @@ static Projection createProjection(const GCS &gcs, const QString &name)
pcs = PCS(gcs, 9820, laea2setup(pl), 9001); pcs = PCS(gcs, 9820, laea2setup(pl), 9001);
else if (pl.first() == "Polyconic (American)") else if (pl.first() == "Polyconic (American)")
pcs = PCS(gcs, 9818, polyconic2setup(pl), 9001); pcs = PCS(gcs, 9818, polyconic2setup(pl), 9001);
else if (pl.first() == "(NZTM2) New Zealand TM 2000")
pcs = PCS(gcs, 9807, Projection::Setup(0, 173.0, 0.9996, 1600000,
10000000, NAN, NAN), 9001);
else if (pl.first() == "(BNG) British National Grid")
pcs = PCS(gcs, 9807, Projection::Setup(49, -2, 0.999601, 400000,
-100000, NAN, NAN), 9001);
else if (pl.first() == "(IG) Irish Grid") else if (pl.first() == "(IG) Irish Grid")
pcs = PCS(gcs, 9807, Projection::Setup(53.5, -8, 1.000035, 200000, pcs = PCS(gcs, 9807, Projection::Setup(53.5, -8, 1.000035, 200000,
250000, NAN, NAN), 9001); 250000, NAN, NAN), 9001);
else if (pl.first() == "(SG) Swedish Grid")
pcs = PCS(gcs, 9807, Projection::Setup(0, 15.808278, 1, 1500000, 0, NAN,
NAN), 9001);
else if (pl.first() == "(I) France Zone I")
pcs = PCS(gcs, 9802, Projection::Setup(49.5, 2.337229, NAN, 600000,
1200000, 48.598523, 50.395912), 9001);
else if (pl.first() == "(II) France Zone II")
pcs = PCS(gcs, 9802, Projection::Setup(46.8, 2.337229, NAN, 600000,
2200000, 45.898919, 47.696014), 9001);
else if (pl.first() == "(III) France Zone III")
pcs = PCS(gcs, 9802, Projection::Setup(44.1, 2.337229, NAN, 600000,
3200000, 43.199291, 44.996094), 9001);
else if (pl.first() == "(IV) France Zone IV")
pcs = PCS(gcs, 9802, Projection::Setup(42.165, 2.337229, NAN, 234.358,
4185861.369, 41.560388, 42.767663), 9001);
else if (pl.first() == "(VICGRID) Victoria Australia")
pcs = PCS(gcs, 9802, Projection::Setup(-37, 145, NAN, 2500000, 4500000,
-36, -38), 9001);
else if (pl.first() == "(VG94) VICGRID94 Victoria Australia")
pcs = PCS(gcs, 9802, Projection::Setup(-37, 145, NAN, 2500000, 2500000,
-36, -38), 9001);
else if (pl.first() == "(SUI) Swiss Grid") else if (pl.first() == "(SUI) Swiss Grid")
pcs = PCS(gcs, 9815, Projection::Setup(46.570866, 7.26225, 1.0, 600000, pcs = PCS(gcs, 9815, Projection::Setup(46.570866, 7.26225, 1.0, 600000,
200000, 90.0, 90.0), 9001); 200000, 90.0, 90.0), 9001);
else if (pl.first() == "Rijksdriehoeksmeting")
pcs = PCS(gcs, 9809, Projection::Setup(52.1561605555556,
5.38763888888889, 0.9999079, 155000, 463000, NAN, NAN), 9001);
else else
return Projection(); return Projection();