QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
ElevationMapProvider.h
Go to the documentation of this file.
1#pragma once
2
3#include "MapProvider.h"
4
6{
7protected:
8 ElevationProvider(const QString &mapName, const QString &referrer, const QString &imageFormat, quint32 averageSize,
11 mapName,
12 referrer,
13 imageFormat,
14 averageSize,
15 mapType) {}
16
17public:
18 bool isElevationProvider() const final { return true; }
19 virtual QByteArray serialize(const QByteArray &image) const = 0;
20};
21
25{
26public:
34
35 int long2tileX(double lon, int z) const final;
36 int lat2tileY(double lat, int z) const final;
37
38 QGCTileSet getTileCount(int zoom, double topleftLon,
39 double topleftLat, double bottomRightLon,
40 double bottomRightLat) const final;
41
42 QByteArray serialize(const QByteArray &image) const final;
43
44 static constexpr const char *kProviderKey = "Copernicus";
45 static constexpr const char *kProviderNotice = "© Airbus Defence and Space GmbH";
46 static constexpr const char *kProviderURL = "https://terrain-ce.suite.auterion.com";
47 static constexpr quint32 kAvgElevSize = 2786;
48
49private:
50 QString _getURL(int x, int y, int zoom) const final;
51
52 const QString _mapUrl = QString(kProviderURL) + QStringLiteral("/api/v1/carpet?points=%1,%2,%3,%4");
53};
54
62{
63public:
67
69 QByteArray serialize(const QByteArray& image) const final { return image; }
70
71 bool isUserSelectable() const final { return false; }
72
73 static constexpr const char* kProviderKey = "Terrarium";
74 static constexpr const char* kProviderURL = "https://s3.amazonaws.com/elevation-tiles-prod";
75 static constexpr quint32 kAvgElevSize = 45000;
76
77private:
78 QString _getURL(int x, int y, int zoom) const final;
79};
https://spacedata.copernicus.eu/collections/copernicus-digital-elevation-model
int lat2tileY(double lat, int z) const final
static constexpr const char * kProviderNotice
int long2tileX(double lon, int z) const final
static constexpr const char * kProviderURL
QByteArray serialize(const QByteArray &image) const final
QGCTileSet getTileCount(int zoom, double topleftLon, double topleftLat, double bottomRightLon, double bottomRightLat) const final
static constexpr const char * kProviderKey
static constexpr quint32 kAvgElevSize
virtual QByteArray serialize(const QByteArray &image) const =0
bool isElevationProvider() const final
ElevationProvider(const QString &mapName, const QString &referrer, const QString &imageFormat, quint32 averageSize, MapProvider::MapStyle mapType)
AWS Open Data Terrain Tiles (Mapzen/Tilezen terrarium encoding). Standard slippy z/x/y PNG tiles,...
static constexpr quint32 kAvgElevSize
static constexpr const char * kProviderURL
QByteArray serialize(const QByteArray &image) const final
Tiles are stored as-is: the terrarium PNG is already the cache format.
bool isUserSelectable() const final
False hides the provider from user-facing provider selection lists.
static constexpr const char * kProviderKey