GeoUtilities.h 1.09 KB
Newer Older
1
#pragma once
2 3 4 5 6

#include <QPointF>
#include <QGeoCoordinate>
#include <QVector3D>
#include <QGeoCoordinate>
7
#include <QtMath>
8

9
#include "PolygonCalculus.h"
10 11


12 13 14 15
namespace GeoUtilities {

    typedef QList<QVector3D> QVector3DList;
    typedef QList<QPointF>   QPointFList;
16 17 18 19
    typedef QList<QGeoCoordinate> QGeoList;

    const double earthRadius = 6378137; // meter

20 21 22 23 24 25 26 27
    QGeoCoordinate  toGeo         (const QVector3D &point, const QGeoCoordinate &origin);
    QGeoList        toGeo         (const QVector3DList &points, const QGeoCoordinate &origin);
    QGeoCoordinate  toGeo         (const QPointF &point, const QGeoCoordinate &origin);
    QGeoList        toGeo         (const QPointFList &points, const QGeoCoordinate &origin);
    QVector3D       toCartesian   (const QGeoCoordinate &coordinate, const QGeoCoordinate &origin);
    QVector3DList   toCartesian   (const QGeoList &coordinates, const QGeoCoordinate &origin);
    QPointF         toCartesian2D (const QGeoCoordinate &point, const QGeoCoordinate &origin);
    QPointFList     toCartesian2D (const QGeoList &coordinates, const QGeoCoordinate &origin);
28
}
29