40class CORE_EXPORT QgsQuantizedMeshMetadata
47 QgsQuantizedMeshMetadata(
const QString &uri,
52 double geometricErrorAtZoom(
int zoom )
const;
60 QVector<QVector<QgsTileRange>> mAvailableTiles;
64 uint8_t mMaxZoom = 10;
65 std::vector<QString> mTileUrls;
75 QgsQuantizedMeshIndex(
const QgsQuantizedMeshMetadata &metadata,
76 const QgsCoordinateTransform &wgs84ToCrs )
77 : mMetadata( metadata ), mWgs84ToCrs( wgs84ToCrs ) {}
78 QgsTiledSceneTile rootTile()
const override;
79 long long parentTileId(
long long id )
const override;
80 QVector< long long > childTileIds(
long long id )
const override;
81 QgsTiledSceneTile getTile(
long long id )
override;
82 QVector< long long > getTiles(
const QgsTiledSceneRequest &request )
override;
84 bool fetchHierarchy(
long long id, QgsFeedback *feedback =
nullptr )
override;
88 static long long encodeTileId( QgsTileXYZ tile );
89 static QgsTileXYZ decodeTileId(
long long id );
91 static constexpr long long ROOT_TILE_ID = std::numeric_limits<long long>::max();
94 QByteArray fetchContent(
const QString &uri, QgsFeedback *feedback =
nullptr )
override;
96 QgsQuantizedMeshMetadata mMetadata;
97 QgsCoordinateTransform mWgs84ToCrs;
104 QgsQuantizedMeshDataProvider(
const QString &uri,
105 const QgsDataProvider::ProviderOptions &providerOptions,
108 QgsTiledSceneDataProvider *clone()
const override;
109 const QgsCoordinateReferenceSystem sceneCrs()
const override;
110 const QgsTiledSceneBoundingVolume &boundingVolume()
const override;
111 QgsTiledSceneIndex index()
const override;
112 QgsDoubleRange zRange()
const override;
113 QgsCoordinateReferenceSystem crs()
const override;
114 QgsRectangle extent()
const override;
115 bool isValid()
const override;
116 QString name()
const override;
117 QString description()
const override;
119 const QgsQuantizedMeshMetadata &quantizedMeshMetadata()
const;
121 static constexpr const char *providerName =
"quantizedmesh";
122 static constexpr const char *providerDescription =
"Cesium Quantized Mesh tiles";
125 QString uriFromIon(
const QString &uri );
129 QgsDataProvider::ProviderOptions mProviderOptions;
130 bool mIsValid =
false;
131 std::optional<QgsQuantizedMeshMetadata> mMetadata;
132 std::optional<QgsTiledSceneIndex> mIndex;
140 QgsQuantizedMeshProviderMetadata();
142 const QgsDataProvider::ProviderOptions &providerOptions,
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
QFlags< DataProviderReadFlag > DataProviderReadFlags
Flags which control data provider construction.
TileChildrenAvailability
Possible availability states for a tile's children.
An abstract base class for tiled scene data provider indices.
Represents a coordinate reference system (CRS).
Contains information about the context in which a coordinate transform is executed.
QgsRange which stores a range of double values.
A container for error messages.
A rectangle specified with double values.
Defines a matrix of tiles for a single zoom level: it is defined by its size (width *.
Stores coordinates of a tile in a tile matrix set.
Represents a bounding volume for a tiled scene.
Base class for data providers for QgsTiledSceneLayer.