Qtiler · MundoGIS

Quick Start & Workflow Guide

Everything you need to prepare QGIS projects, build manual or on-demand WMTS caches with Qtiler, secure deployments with the optional auth plugin, and publish production-ready services.

1 Getting ready

Prepare QGIS

  • Create and save your project in QGIS 3.x with all layers styled.
  • Define "Map Themes" (a.k.a. Kartteman) for every layer combination you want to cache as a composite.
  • Save the project (Ctrl+S) before uploading so the themes are persisted.

Set up the server

  • Install OSGeo4W or the standalone QGIS build and configure QGIS_PREFIX, OSGEO4W_BIN, PYTHON_EXE.
  • Launch Qtiler with npm start (default http://localhost:3000).
  • Optional: install the Windows Service via node service\\install-service.js.
Already copied projects into qgisprojects/? Just click Reload layers to rebuild the list.

2 Dashboard workflow

Here is the end-to-end flow inside the dashboard—everything you see ships with Qtiler, no manual assets required.

Dashboard overview

Use the top summary to monitor pending jobs, completed caches, and quick actions like Reload layers or Cache all layers.

Layer controls

Each row exposes play/delete/copy/view buttons plus shortcuts to manual or on-demand caching so operators never leave the dashboard.

1️⃣ Upload or refresh projects

Use Upload project for `.qgs/.qgz` files. Qtiler drops them into qgisprojects/ and extracts layers, CRS, extent, and themes. Manual copies work too—just hit Reload layers.

2️⃣ Adjust zoom and extent

Set global min/max zoom and open Show extent map when you need precise bounding boxes. The map supports deep zoom (≈1:100) so you can refine the box in WGS84.

3️⃣ Cache per layer

Each layer row offers:

  • ▶ Generate/refresh cache.
  • 🗑 Delete stored tiles.
  • 📋 Copy tile URL (`/wmts/<project>/<layer>/{z}/{x}/{y}.png`).
  • 👁 Open the Leaflet viewer in the layer’s native CRS.

4️⃣ Cache per theme

The Map Themes section lists every theme found. Use ▶ to generate the composite mosaic (`/wmts/<project>/themes/<theme>/…`). Copy the WMTS URL and preview it in the viewer.

3 Jobs & automation

Project-wide cache

Cache all layers launches a batch job that iterates over every layer with the current parameters. The “Running tasks” panel tracks progress live.

Scheduled recache

Open the recache menu to define minute-based intervals. The server records last result and next run inside project-config.json.

On-demand caching

Qtiler can serve tiles directly from QGIS whenever a WMTS request misses the cache. Each live render is written back to disk, so manual batch jobs and on-demand traffic stay perfectly aligned.

Caches live under cache/<project>/. Each run updates index.json with kind, zooms, source layers, and timestamps.

4 Publishing WMTS

The backend exposes a minimal GetCapabilities endpoint at /wmts?SERVICE=WMTS&REQUEST=GetCapabilities&project=<id>. All cached layers and themes appear as individual WMTS layers with ready-to-use templates.

GIS client integration

  • Load the Capabilities URL to register every layer at once.
  • Use individual tile URLs when you only need a specific resource.
  • Themes are identified as <project>:<theme> and stored under _themes/.

Leaflet viewer

Launch the Leaflet viewer from the eye icon next to each layer or theme. Compare cached tiles against the remote source or preview the cache on its own.

Using Qtiler with Origo Map

For Origo-based portals, point the source to the REST XYZ template (not GetCapabilities) and keep the native CRS. Example source configuration:

{
  "source": "Qtiler_Topografiska_Webbkartan",
  "url": "https://ext.rabbalshedekraft.se/wmts/bakgrunder/Topografiska_Webbkartan/{z}/{x}/{y}.png",
  "type": "XYZ",
  "projection": "EPSG:3006"
}

Example layer entry that references the source:

{
  "name": "bakgrunder_Topografiska_Webbkartan",
  "title": "Topografiska_Webbkartan",
  "group": "background",
  "source": "Qtiler_Topografiska_Webbkartan",
  "type": "XYZ",
  "format": "image/png",
  "visible": true,
  "style": "karta_farg",
  "attribution": "© Lantmäteriet",
  "tileGrid": {
    "alignBottomLeft": false,
    "origin": [ -908609.3787282843, 7825048.779051208 ],
    "resolutions": [
      11426.844956133727, 5713.422478066864, 2856.711239033432,
      1428.355619516716, 714.177809758358, 357.088904879179,
      178.5444524395895, 89.27222621979475, 44.63611310989737,
      22.318056554948686, 11.159028277474343, 5.579514138737172,
      2.789757069368586, 1.394878534684293, 0.6974392673421465,
      0.3487196336710732, 0.1743598168355366, 0.0871799084177683,
      0.04358995420888415, 0.021794977104442077, 0.010897488552221038,
      0.005448744276110519, 0.0027243721380552596
    ]
  }
}
Get the origin, resolutions, and extent from the layer/theme info dialog (ⓘ) in the dashboard. Copy the values from the "Layer Details" modal under WMTS URLs.

5 Authentication & access control

Install the optional QtilerAuth plugin (see plugins/QtilerAuth) whenever you need login-protected dashboards or customer-specific WMTS access.

  • Manage users and roles from the built-in admin UI, including password resets and project-level permissions.
  • Apply consistent authentication across the portal, Leaflet viewer, and WMTS endpoints so only authorized clients reach cached tiles.
  • Download the one-time QtilerAuth ZIP from mundogis.se and upload it through the built-in plugin installer to deploy—no floating licenses or repeat activations.
QtilerAuth ships as a one-time ZIP purchase: download it from mundogis.se, upload it through the portal installer, and email abel.gonzalez@mundogis.se for personalized guidance.

6 Best practices

  • Keep QGIS projects and themes organized—names map directly to WMTS paths.
  • Monitor disk usage; WMTS caches can grow fast. Clean up unused layers regularly.
  • Review logs (`logs/`) and UI status messages to catch render errors early.
  • Use dedicated Windows accounts and background services for production deployments.

Need to customize further? Update the repository README with team-specific notes, purchase Qtiler via mundogis.se, or email abel.gonzalez@mundogis.se for more details.