19 #include "qgis_core.h"
42 : mColumn( tc ), mRow( tr ), mZoomLevel( tz )
47 int column()
const {
return mColumn; }
49 int row()
const {
return mRow; }
54 QString
toString()
const {
return QStringLiteral(
"X=%1 Y=%2 Z=%3" ).arg( mColumn ).arg( mRow ).arg( mZoomLevel ); }
75 : mStartColumn( c1 ), mEndColumn( c2 ), mStartRow( r1 ), mEndRow( r2 ) {}
78 bool isValid()
const {
return mStartColumn >= 0 && mEndColumn >= 0 && mStartRow >= 0 && mEndRow >= 0; }
87 int endRow()
const {
return mEndRow; }
120 const QgsPointXY &z0TopLeftPoint,
double z0Dimension,
121 int z0MatrixWidth = 1,
int z0MatrixHeight = 1 );
170 double scale()
const {
return mScaleDenom; }
178 void setScale(
double scale ) { mScaleDenom = scale; }
190 QPointF mapToTileCoordinates(
const QgsPointXY &mapPoint )
const;
233 void addGoogleCrs84QuadTiles(
int minimumZoom = 0,
int maximumZoom = 14 );
252 int minimumZoom()
const;
259 int maximumZoom()
const;
265 void dropMatricesOutsideZoomRange(
int minimumZoom,
int maximumZoom );
280 double scaleToZoom(
double scale )
const;
287 int scaleToZoomLevel(
double scale )
const;
301 double calculateTileScaleForMap(
double actualMapScale,
318 virtual QDomElement writeXml( QDomDocument &document,
const QgsReadWriteContext &context )
const;
336 QMap< int, QgsTileMatrix > mTileMatrices;
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
@ MapBox
Uses a scale doubling approach to account for hi-DPI tiles, and rounds to the nearest tile level for ...
This class represents a coordinate reference system (CRS).
A class to represent a 2D point.
The class is used as a container of context for various read/write operations on other objects.
A rectangle specified with double values.
Contains information about the context of a rendering operation.
Defines a set of tile matrices for multiple zoom levels.
virtual ~QgsTileMatrixSet()=default
Qgis::ScaleToTileZoomLevelMethod scaleToTileZoomMethod() const
Returns the scale to tile zoom method.
void setScaleToTileZoomMethod(Qgis::ScaleToTileZoomLevelMethod method)
Sets the scale to tile zoom method.
Defines a matrix of tiles for a single zoom level: it is defined by its size (width *.
void setCrs(const QgsCoordinateReferenceSystem &crs)
Sets the crs of the tile matrix.
void setScale(double scale)
Sets the scale denominator of the tile matrix.
QgsRectangle extent() const
Returns extent of the tile matrix.
int matrixWidth() const
Returns number of columns of the tile matrix.
QgsCoordinateReferenceSystem crs() const
Returns the crs of the tile matrix.
bool isRootTileMatrix() const
Returns the root status of the tile matrix (zoom level == 0)
double scale() const
Returns scale denominator of the tile matrix.
void setZoomLevel(int level)
Sets the zoom level of the tile matrix.
int matrixHeight() const
Returns number of rows of the tile matrix.
int zoomLevel() const
Returns the zoom level of the tile matrix.
Range of tiles in a tile matrix to be rendered.
int endColumn() const
Returns index of the last column in the range.
QgsTileRange(int c1=-1, int c2=-1, int r1=-1, int r2=-1)
Constructs a range of tiles from given span of columns and rows.
int endRow() const
Returns index of the last row in the range.
int startRow() const
Returns index of the first row in the range.
int startColumn() const
Returns index of the first column in the range.
bool isValid() const
Returns whether the range is valid (when all row/column numbers are not negative)
Stores coordinates of a tile in a tile matrix set.
QString toString() const
Returns tile coordinates in a formatted string.
int zoomLevel() const
Returns tile's zoom level (Z)
QgsTileXYZ(int tc=-1, int tr=-1, int tz=-1)
Constructs a tile identifier from given column, row and zoom level indices.
int column() const
Returns tile's column index (X)
int row() const
Returns tile's row index (Y)
const QgsCoordinateReferenceSystem & crs