QGIS API Documentation  3.26.3-Buenos Aires (65e4edfdad)
qgsvectortilemvtdecoder.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsvectortilemvtdecoder.h
3  --------------------------------------
4  Date : March 2020
5  Copyright : (C) 2020 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 QGSVECTORTILEMVTDECODER_H
17 #define QGSVECTORTILEMVTDECODER_H
18 
19 #define SIP_NO_FILE
20 
21 class QgsFeature;
22 
23 #include <QStringList>
24 #include <QMap>
25 
26 #include "vector_tile.pb.h"
27 
28 #include "qgsvectortilerenderer.h"
29 #include "qgsvectortilematrixset.h"
30 
31 
38 class CORE_EXPORT QgsVectorTileMVTDecoder
39 {
40  public:
41 
47 
49  bool decode( QgsTileXYZ tileID, const QByteArray &rawTileData );
50 
52  QStringList layers() const;
53 
55  QStringList layerFieldNames( const QString &layerName ) const;
56 
62  QgsVectorTileFeatures layerFeatures( const QMap<QString, QgsFields> &perLayerFields, const QgsCoordinateTransform &ct,
63  const QSet< QString > *layerSubset = nullptr ) const;
64 
65  private:
66  vector_tile::Tile tile;
67  QgsTileXYZ mTileID;
68  QgsVectorTileMatrixSet mStructure;
69  QMap<QString, int> mLayerNameToIndex;
70 };
71 
72 #endif // QGSVECTORTILEMVTDECODER_H
qgsvectortilerenderer.h
QgsTileXYZ
Stores coordinates of a tile in a tile matrix set. Tile matrix is identified by the zoomLevel(),...
Definition: qgstiles.h:37
QgsVectorTileMatrixSet
Encapsulates properties of a vector tile matrix set, including tile origins and scaling information.
Definition: qgsvectortilematrixset.h:31
qgsvectortilematrixset.h
QgsVectorTileMVTDecoder
This class is responsible for decoding raw tile data written with Mapbox Vector Tiles encoding.
Definition: qgsvectortilemvtdecoder.h:38
QgsFeature
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Definition: qgsfeature.h:55
QgsVectorTileFeatures
QMap< QString, QVector< QgsFeature > > QgsVectorTileFeatures
Features of a vector tile, grouped by sub-layer names (key of the map)
Definition: qgsvectortilerenderer.h:27
QgsCoordinateTransform
Class for doing transforms between two map coordinate systems.
Definition: qgscoordinatetransform.h:57