TairuDB — QGIS Plugin v2.0

TairuDB connects QGIS to the Tairu Maps app (iOS / Android). It provides a dockable panel for two-way synchronisation with your Tairu Maps account and a Processing algorithm (Tairu > TairuDB) for generating .tairudb offline-map packages from any QGIS project.

Cloud features (Tairu Maps dock) require an Online or Real-time Tairu Maps plan. The Processing algorithm and GeoPDF converter work fully offline without any account.

What is Tairu Maps?

Tairu Maps is a collaborative mobile mapping app for field use. It supports offline maps, real-time location sharing, geo-referenced records, and direct integration with QGIS data. The .tairudb file is the native format for importing offline maps into Tairu Maps.

Tairu Maps Dock (two-way sync)

Click the TairuDB toolbar button or go to Plugins > TairuDB to open the dock panel. From there you can:

Processing Algorithm — Tairu > TairuDB

The classic Processing algorithm is still available for scripting and batch use. Go to Processing > Toolbox, expand the Tairu group and run TairuDB.

Workflow

  1. Open a QGIS project with the raster layers you want to export and make them visible.
  2. Create or import a polygon vector layer delimiting the area(s) of interest. Each polygon feature becomes an independent region in the output file.
  3. Open the algorithm (Processing > Toolbox > Tairu > TairuDB).
  4. Fill in the parameters and click Run.
  5. Transfer the generated .tairudb file to your device and import it in Tairu Maps.

Parameters

ParameterDescription
Area of interest (polygon)Polygon vector layer. Each feature generates an independent region.
Map resolutionSets the maximum zoom level (see table below).
Image formatPNG (lossless), JPG or WebP. JPG and WebP produce smaller files.
QualityCompression quality for JPG/WebP (1–100). Default: 90.
Vector layers to export(Optional) Vector layers to include, with QGIS colour and JSON attributes.
Output filePath for the generated .tairudb file.

Resolution reference

ResolutionZoomTypical use
Very High (0.5 m/px)18Floor plans, survey detail
High (1 m/px)17Urban areas, trails
Medium-High (2 m/px)16Neighbourhoods, parks
Medium (4 m/px)15Small towns
Medium-Low (8 m/px)14Municipalities
Low (16 m/px)13Regions
Very Low (32 m/px)12States / overview
Note: High resolutions over large areas can generate thousands of tiles and take several minutes. Evaluate the area / resolution ratio before running.

GeoPDF Converter

geopdf_converter.py converts GeoPDF files to .tairudb, extracting the raster background as tiles and vector geometries as layers. Requires GDAL, pyproj and QGIS Python libraries.

python geopdf_converter.py input.pdf output.tairudb [options]

The .tairudb format

A .tairudb file is a SQLite3 database with the following tables:

TableContents
metadataGeneral settings (format, zoom, centre, version)
regionsGeographic regions with bounds and zoom levels
tiles_region_NTMS raster tiles per region (PNG, JPG or WebP)
vector_layersExported vector layers (point, line, polygon)
featuresFeatures with geometry, style and JSON attributes

Full schema details in TAIRUDB_SCHEMA.txt.

Version history

VersionChanges
2.0Tairu Maps dock with Firebase login (e-mail, Google, Apple); pull records as editable GeoPackage layers and .tairudb files as raster; push vector layers as records with diff preview; wizard to generate and upload .tairudb rasters directly to a map
1.2.1Support for QGIS 4
1.2Multi-region support; vector layer export with JSON attributes; automatic tile retry; WebP support; dry-run mode for estimating tile count and file size
1.1GeoPDF converter; rendering performance improvements
1.0Initial release: raster tile generation for Tairu Maps

Repository: github.com/DanielHSMartin/tairu_db
Tairu Maps: tairumaps.com