iVS3D v2.0.0
Loading...
Searching...
No Matches
gpsreader.h
1#ifndef GPSREADER_H
2#define GPSREADER_H
3
4#include "metadatareader.h"
5#include "stringcontainer.h"
6#include <cmath>
7#include <cfloat>
8#include <QPointF>
9#include <QHash>
10#include <QVariant>
11#include <QGeoCoordinate>
12
26{
27public:
32 bool normaliseGPS(uint imageNumber);
38 QVariant getImageMetaData(uint index);
43 QList<QVariant> getAllMetaData();
44
45 void setAltitudeDiff(double setAltitude);
46
47 bool hasAltitudeData();
48
49
50
51protected:
52 bool addGPSValue(double latitude, double longitude);
53 bool addGPSValue(double latitude, double longitude, double altitude);
54 QList<QHash<QString, QVariant>> m_GPSHashs;
55 double m_altitudeDiff = 0;
56 void addAltitudeDiff(QHash<QString, QVariant> &gpsHash);
57 void interpolateMissingData(QList<int> missingMetaData);
58 const int MAX_GAP_SIZE = 5;
59
60private:
61 QGeoCoordinate interpolateSingle(QHash<QString, QVariant> a, QHash<QString, QVariant> b, double t, double stepsize);
62 QHash<QString, QVariant> createGPSHash(double latitude, double longitude, double altitude = DBL_MAX);
63
64};
65#endif // GPSREADER_H
Interface for classes wich loaded meta files containing GPS data.
Definition gpsreader.h:26
QList< QVariant > getAllMetaData()
getAllMetaData Returns all meta data in the same order as the images ar
Definition gpsreader.cpp:46
bool normaliseGPS(uint imageNumber)
GPSReader::normaliseGPS This method will interpolate gps values (latitude, longitude,...
Definition gpsreader.cpp:4
QVariant getImageMetaData(uint index)
getImageMetaData Returns parsed meta data from the index images
Definition gpsreader.cpp:37
Interface to load meta data.
Definition metadatareader.h:19