The original version of this document is located at https://docs.qfield.org/reference/data-format
QField supports a wide variety of formats via QGIS data providers and
GDAL.
This page offers a non-exhaustive list of supported data formats.
Data Format | Support | Notes |
---|---|---|
Spatialite | ✅ | |
Geopackage | ✅ | |
WMS | ✅ | |
WFS | ✅ | |
WFS-T | ✅ | |
Postgis | ✅ | |
MBTiles | ✅ | |
Shapefile | ✅ | |
Tiff | ✅ | |
JPEG2000 | ✅ | |
WEBP | ✅ | |
ECW | ❌ | License restricts usage. |
MrSID | ❌ | License restricts usage. |
If you don’t find your favorite data format on this table, please check
if it works and adapt the list above
to share your findings. If it does not work, please open an issue. We will be happy to
help you with the implementation.
Raster data can become quite big quickly, when working with uncompressed
tiff files it’s often several Gb of data. Especially on mobile devices,
this is inefficient.
The Cloud Optimized Geotiff (COG) format will offer best user experience for offline basemaps.
Combined with JPEG compression, it will reduce the raster size.
The following commands will convert a file called raster.tif
to a COG file raster_cog.tif
using JPEG compression.
bash
gdal_translate raster.tif raster_cog.tif -of COG -co BLOCKSIZE=512 -co COMPRESS=JPEG -co QUALITY=75 -co BIGTIFF=YES
If you have several files to assemble, first, you need to create a VRT file with QGIS or through following commands to index all TIF files inside a directory. Make sure you adjust EPSG:2056
to your desired CRS.
bash
gdalbuildvrt raster_mosaic.vrt TIF_Directory/*.tif -addalpha -hidenodata -a_srs EPSG:2056
Then convert the VRT file to COG.
bash
gdal_translate raster_mosaic.vrt raster_cog.tif -of COG -co BLOCKSIZE=512 -co COMPRESS=JPEG -co QUALITY=75 -co BIGTIFF=YES
If the data quality of the raster data is too low, adjust the compression level and set QUALITY=85.
Some extra parameters can be set :
a_srs
can also be used in gdal_translate command when the CRS is not defined in the source raster dataset.OVERVIEW_RESAMPLING
offer different renderer when zooming out.NUM_THREADS
will help you to balance between use all your CPU resources or only part.Combining all extra parameters, command line may look like this :
bash
gdal_translate raster.tif raster_cog.tif -a_srs EPSG:2056 -of COG -co BLOCKSIZE=512 -co OVERVIEW_RESAMPLING=BILINEAR -co COMPRESS=JPEG -co QUALITY=75 -co NUM_THREADS=6 -co BIGTIFF=YES