QGIS API Documentation
4.3.0-Master (52aa6503bed)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
3d
terrain
qgsterraindownloader.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsterraindownloader.h
3
--------------------------------------
4
Date : March 2019
5
Copyright : (C) 2019 by Martin Dobias
6
Email : wonder dot sk at gmail dot com
7
***************************************************************************
8
* *
9
* This program is free software; you can redistribute it and/or modify *
10
* it under the terms of the GNU General Public License as published by *
11
* the Free Software Foundation; either version 2 of the License, or *
12
* (at your option) any later version. *
13
* *
14
***************************************************************************/
15
16
#ifndef QGSTERRAINDOWNLOADER_H
17
#define QGSTERRAINDOWNLOADER_H
18
19
#include <memory>
20
21
#include "qgis_3d.h"
22
#include "
qgscoordinatetransformcontext.h
"
23
24
#include <QByteArray>
25
#include <QImage>
26
27
#define SIP_NO_FILE
28
29
class
QgsRectangle
;
30
class
QgsCoordinateReferenceSystem
;
31
class
QgsRasterLayer
;
32
class
QgsCoordinateTransformContext
;
33
34
49
class
_3D_EXPORT
QgsTerrainDownloader
50
{
51
public
:
56
QgsTerrainDownloader
(
const
QgsCoordinateTransformContext
&transformContext );
57
58
~QgsTerrainDownloader
();
59
61
struct
DataSource
62
{
63
QString
uri
;
64
int
zMin
= 0;
65
int
zMax
= 0;
66
};
67
69
static
DataSource
defaultDataSource
();
70
72
void
setDataSource
(
const
DataSource
&ds );
73
75
DataSource
dataSource
()
const
{
return
mDataSource; }
76
81
QByteArray getHeightMap(
82
const
QgsRectangle
&extentOrig,
83
int
res,
84
const
QgsCoordinateReferenceSystem
&destCrs,
85
const
QgsCoordinateTransformContext
&context =
QgsCoordinateTransformContext
(),
86
QString tmpFilenameImg = QString(),
87
QString tmpFilenameTif = QString()
88
);
89
90
private
:
95
double
findBestTileResolution(
double
requestedMupp )
const
;
96
100
static
void
adjustExtentAndResolution(
double
mupp,
const
QgsRectangle
&extentOrig,
QgsRectangle
&extent,
int
&res );
101
106
static
void
tileImageToHeightMap(
const
QImage &img, QByteArray &heightMap );
107
108
private
:
109
DataSource mDataSource;
110
std::unique_ptr<QgsRasterLayer> mOnlineDtm;
111
double
mXSpan = 0;
112
};
113
114
#endif
// QGSTERRAINDOWNLOADER_H
QgsCoordinateReferenceSystem
Represents a coordinate reference system (CRS).
Definition
qgscoordinatereferencesystem.h:216
QgsCoordinateTransformContext
Contains information about the context in which a coordinate transform is executed.
Definition
qgscoordinatetransformcontext.h:61
QgsRasterLayer
Represents a raster layer.
Definition
qgsrasterlayer.h:82
QgsRectangle
A rectangle specified with double values.
Definition
qgsrectangle.h:47
QgsTerrainDownloader::QgsTerrainDownloader
QgsTerrainDownloader(const QgsCoordinateTransformContext &transformContext)
Constructs a QgsTerrainDownloader object.
Definition
qgsterraindownloader.cpp:30
QgsTerrainDownloader::dataSource
DataSource dataSource() const
Returns currently configured data source.
Definition
qgsterraindownloader.h:75
QgsTerrainDownloader::~QgsTerrainDownloader
~QgsTerrainDownloader()
QgsTerrainDownloader::defaultDataSource
static DataSource defaultDataSource()
Returns the data source used by default.
Definition
qgsterraindownloader.cpp:48
QgsTerrainDownloader::setDataSource
void setDataSource(const DataSource &ds)
Configures data source to be used for download of terrain tiles.
Definition
qgsterraindownloader.cpp:63
qgscoordinatetransformcontext.h
QgsTerrainDownloader::DataSource
Definition of data source for terrain tiles (assuming "terrarium" data encoding with usual XYZ tiling...
Definition
qgsterraindownloader.h:62
QgsTerrainDownloader::DataSource::uri
QString uri
HTTP(S) template for XYZ tiles requests (e.g. http://example.com/{z}/{x}/{y}.png).
Definition
qgsterraindownloader.h:63
QgsTerrainDownloader::DataSource::zMin
int zMin
Minimum zoom level (Z) with valid data.
Definition
qgsterraindownloader.h:64
QgsTerrainDownloader::DataSource::zMax
int zMax
Maximum zoom level (Z) with valid data.
Definition
qgsterraindownloader.h:65
Generated on
for QGIS API Documentation by
1.17.0