Skip to content

tiles

qgis-cli tiles

Renders an XYZ tile pyramid for a project, writing loose files, an MBTiles database, or a PMTiles archive.

Synopsis

Terminal window
qgis-cli tiles <PROJECT> --zoom <MIN-MAX> --bounds <MINX,MINY,MAXX,MAXY> [OPTIONS]

Options

OptionDefaultDescription
-z, --zoom <MIN-MAX>—Zoom levels to render, e.g. 10-14.
-b, --bounds <MINX,MINY,MAXX,MAXY>project extentArea to cover, in --crs.
-o, --output <PATH>—Directory, .mbtiles, or .pmtiles file.
--tile-size <PX>256Tile edge length in pixels.
--format <FORMAT>pngTile image format: png, jpeg, or webp.
--crs <AUTH:CODE>EPSG:3857Tile CRS. XYZ pyramids are normally Web Mercator.
--parallel <N>number of CPUsWorker threads. Each holds its own QGIS instance.
--dry-runoffCount the tiles that would be rendered and exit.

Examples

Terminal window
# Loose z/x/y.png files
qgis-cli tiles map.qgs -z 10-14 -b 14,50,15,51 -o ./tiles/ --parallel 8
# MBTiles
qgis-cli tiles map.qgs -z 10-14 -b 14,50,15,51 -o output.mbtiles
# PMTiles with WebP tiles
qgis-cli tiles map.qgs -z 0-12 -o output.pmtiles --format webp
# 512px retina tiles
qgis-cli tiles map.qgs -z 10-14 -o ./tiles/ --tile-size 512
# How much work is this?
qgis-cli tiles map.qgs -z 10-14 -b 14,50,15,51 --dry-run
# → Would render 12,847 tiles across zoom levels 10-14

Output layout

--outputResult
./tiles/./tiles/{z}/{x}/{y}.png
out.mbtilesSQLite database with a tiles table
out.pmtilesSingle-file PMTiles archive, HTTP-range readable

See also