QGIS API Documentation 3.99.0-Master (21b3aa880ba)
Loading...
Searching...
No Matches
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
21class QgsFeature;
22
25#include "vector_tile.pb.h"
26
27#include <QMap>
28#include <QStringList>
29
31
38class CORE_EXPORT QgsVectorTileMVTDecoder
39{
40 public:
41
47
49 bool decode( const QgsVectorTileRawData &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:
67 QMap<QString, vector_tile::Tile> tiles;
68 QgsTileXYZ mTileID;
69 QgsVectorTileMatrixSet mStructure;
70 QMap<QString, QMap<QString, int>> mLayerNameToIndex;
71};
72
73#endif // QGSVECTORTILEMVTDECODER_H
Handles coordinate transforms between two coordinate systems.
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Definition qgsfeature.h:58
Stores coordinates of a tile in a tile matrix set.
Definition qgstiles.h:39
QStringList layerFieldNames(const QString &layerName) const
Returns a list of all field names in a tile. It can only be called after a successful decode().
QStringList layers() const
Returns a list of sub-layer names in a tile. It can only be called after a successful decode().
bool decode(const QgsVectorTileRawData &rawTileData)
Tries to decode raw tile data, returns true on success.
QgsVectorTileMVTDecoder(const QgsVectorTileMatrixSet &structure)
Constructor for QgsVectorTileMVTDecoder, using the specified tile structure.
QgsVectorTileFeatures layerFeatures(const QMap< QString, QgsFields > &perLayerFields, const QgsCoordinateTransform &ct, const QSet< QString > *layerSubset=nullptr) const
Returns decoded features grouped by sub-layers.
Encapsulates properties of a vector tile matrix set, including tile origins and scaling information.
Keeps track of raw tile data from one or more sources that need to be decoded.
QMap< QString, QVector< QgsFeature > > QgsVectorTileFeatures
Features of a vector tile, grouped by sub-layer names (key of the map).