Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+168
@@ -0,0 +1,168 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* adapting GeISiR source to SituationMap
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "elevation_map_helper.h"
|
||||
#include <ElevationMap/situationmapelevationmap_export.h>
|
||||
|
||||
#include <LtsUtilsCore/qpoint3d.h>
|
||||
|
||||
#include <Common/situation_map_logging.h>
|
||||
|
||||
#include <QFutureWatcher>
|
||||
#include <QPointF>
|
||||
#include <QRectF>
|
||||
#include <QVector>
|
||||
|
||||
class QFileInfo;
|
||||
namespace SituationMap
|
||||
{
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
// ElevationMap
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
class SITUATIONMAPELEVATIONMAP_EXPORT ElevationMap final
|
||||
{
|
||||
|
||||
friend class ElevationMapManager;
|
||||
|
||||
public:
|
||||
ElevationMap() = delete;
|
||||
ElevationMap(const ElevationMap &) = delete;
|
||||
ElevationMap &operator = (const ElevationMap &) = delete;
|
||||
|
||||
explicit ElevationMap(const QFileInfo &fileInfo);
|
||||
|
||||
~ElevationMap();
|
||||
|
||||
bool waitForInitialization();
|
||||
|
||||
bool isValid() const;
|
||||
|
||||
QString filename() const;
|
||||
|
||||
QRectF extent() const;
|
||||
|
||||
QPair<double, double> elexelSize() const;
|
||||
|
||||
double elevation(double lon, double lat) const; // rad
|
||||
|
||||
double distance(const QPointF &start, const QPointF &end) const;
|
||||
|
||||
double profileDistance(const QPointF &start, const QPointF &end) const;
|
||||
|
||||
unsigned int elevationProfile(const QPointF &start, const QPointF &end, Vec3dVector &elevProfile) const;
|
||||
|
||||
void interpolation(bool on) { m_aproximation = on; }
|
||||
bool interpolation() const { return m_aproximation; }
|
||||
|
||||
bool contains(const QPointF &point) const;
|
||||
bool intersects(const QPolygonF &polygon) const;
|
||||
|
||||
// Line of Sight Profile: berücksichtigt Erdkrümmung und WGS84 Erdellipsoid
|
||||
void LOSProfile(const QPointF &start, const QPointF &end, LOSVector &losProfile);
|
||||
|
||||
protected:
|
||||
|
||||
int getElevation(int column, int row) const;
|
||||
double getElevation(double lon, double lat) const;
|
||||
|
||||
double getOrSubstituteElevation(int column, int row, double substitute) const;
|
||||
|
||||
// getSamplePoints rastert den Vector( start, end) in Lat/Lon entsprechend dem Höhenraster
|
||||
void getSamplePoints(const QPointF &start, const QPointF &end, Vec3dVector &sPnts) const;
|
||||
|
||||
int clipp2Map(const QPointF &start, const QPointF &end, QPointF &cStart, QPointF &cEnd) const;
|
||||
|
||||
bool readFromFile();
|
||||
|
||||
struct Internal;
|
||||
|
||||
Internal *m_internal;
|
||||
QString m_fileName;
|
||||
bool m_aproximation;
|
||||
bool m_valid;
|
||||
QFutureWatcher<bool> m_gdalReadWatcher;
|
||||
LOGGER_T m_logger; ///< Interface of the Logging-Facility
|
||||
}; // ElevationMap
|
||||
|
||||
|
||||
} // SituationMap
|
||||
|
||||
|
||||
|
||||
/* -----------------------------------------------------------------------------------------------
|
||||
** CVS-Id/Release ...: $Header$
|
||||
** -----------------------------------------------------------------------------------------------
|
||||
**
|
||||
** Historie:
|
||||
**
|
||||
** $Log: not supported by cvs2svn $
|
||||
** Revision 1.20 2006/09/26 07:51:12 Jörg
|
||||
** Syntax Fehler unter Suse Linux 10.1 behoben.
|
||||
**
|
||||
** Revision 1.19 2006/03/24 09:05:24 klaus
|
||||
** Elevationprofile: Begrenzung auf Kartengröße aufgehoben ( Clipping)
|
||||
**
|
||||
** Revision 1.18 2005/11/09 11:12:27 klaus
|
||||
** Anpassung an Linux: Kommentar hinter #endif mit "//" versehen
|
||||
**
|
||||
** Revision 1.17 2005/08/22 14:15:02 joerg
|
||||
** typeId()
|
||||
**
|
||||
** Revision 1.16 2005/08/12 09:37:44 joerg
|
||||
** Koordinaten-Umprojezieren bei Wechsel der Projektion
|
||||
**
|
||||
** Revision 1.15 2005/04/15 13:04:35 joerg
|
||||
** Resource Control
|
||||
**
|
||||
** Revision 1.14 2005/03/04 14:29:13 klaus
|
||||
** Elevationmap mit CachedTileList versehen und automatischem Entladen von Tiles
|
||||
**
|
||||
** Revision 1.13 2005/03/03 12:37:14 klaus
|
||||
** dynamischen Laden und Entladen der ElevationTiles für Reliefmap
|
||||
**
|
||||
** Revision 1.12 2005/03/01 12:33:12 klaus
|
||||
** Reliefmap eingeführt, aus Elevationmap entfernt
|
||||
**
|
||||
** Revision 1.11 2005/02/25 15:26:41 klaus
|
||||
** Ergänzung um Reliefkarte
|
||||
**
|
||||
** Revision 1.10 2005/02/10 14:13:21 klaus
|
||||
** Bias in Basisklasse MapObject überführt
|
||||
**
|
||||
** Revision 1.9 2005/02/10 13:51:01 klaus
|
||||
** Bias für SightFans eingeführt
|
||||
**
|
||||
** Revision 1.8 2005/02/09 16:53:06 klaus
|
||||
** 1. Version der SightFans
|
||||
**
|
||||
** Revision 1.7 2005/01/26 12:25:41 klaus
|
||||
** todos bearbeitet, Fehlerrückmeldnugen
|
||||
**
|
||||
** Revision 1.6 2004/12/14 09:43:25 klaus
|
||||
** 7. Erweiterung für Höhenkarten
|
||||
**
|
||||
** Revision 1.5 2004/12/07 11:07:20 klaus
|
||||
** 5. Erweiterung für Höhenkarten
|
||||
**
|
||||
** Revision 1.4 2004/12/03 16:24:12 klaus
|
||||
** 4. Erweiterung für Höhenkarten
|
||||
**
|
||||
** Revision 1.3 2004/11/30 13:15:28 klaus
|
||||
** 3. Erweiterung für Höhenkarten
|
||||
**
|
||||
** Revision 1.2 2004/11/23 14:36:14 klaus
|
||||
** 2. Erweiterung für Höhenkarten
|
||||
**
|
||||
**
|
||||
** ----------------------------------------------------------------------------------------------- */
|
||||
|
||||
Reference in new issue
Block a user