Map Tile Server

The GVA Tile Server is an offline map tile sync and HTTP serving service. It pre-downloads map tiles for specified geographic areas and serves them locally over HTTP, enabling fully offline map display in the BMS and HMI applications.

BMS using offline OpenStreetMap tiles served by the Tile Server

Architecture

graph TB subgraph "Remote Tile Sources" OSM[OpenStreetMap] GA[Geoscience Australia] ESRI[ESRI / ArcGIS] SENT[Copernicus Sentinel-2] OTHER[Other Sources...] end subgraph "GVA Tile Server" SYNC[Tile Sync Engine] CACHE[(Tile Cache
/var/cache/gva-maptiles)] HTTP[HTTP Server :8070] AUTH[OAuth2 Client] end subgraph "Applications" BMS[BMS Application] HMI[HMI Application] EXT[External Apps] end OSM --> SYNC GA --> SYNC ESRI --> SYNC SENT --> AUTH --> SYNC OTHER --> SYNC SYNC --> CACHE CACHE --> HTTP HTTP --> BMS HTTP --> HMI HTTP --> EXT style SYNC fill:#4CAF50 style HTTP fill:#2196F3 style AUTH fill:#FF9800 style CACHE fill:#9C27B0

Quick Start

1. Start the Tile Server

gva-tile-server --sources /path/to/bms-map-sources.json --port 8070

2. Sync Tiles for Your Area of Operations

# Sync OpenStreetMap tiles for Farnborough, UK (zoom 0-16)
gva-tile-server --sync --source "OpenStreetMap - Standard" \
    --bbox "-0.82,51.25,-0.68,51.32" --zoom "0-16"

3. Launch the BMS with Local Tile Sources

cd build/bin
./gva-qt6-app-bms --standalone

In the BMS map source selector, choose any Local - ... source (e.g. Local - OpenStreetMap). Tiles are served from the local cache — no internet required.

4. (Optional) Install as a Systemd Service

sudo cmake --install build/ --prefix /usr
sudo systemctl enable --now gva-tile-server

Further Reading

  • Data Sources — Available local tile sources and BMS configuration
  • HTTP API — REST endpoints, sync control, and CLI options
  • Licensing — Map data licensing by provider, compliance guidance
  • Deployment — Systemd service, Copernicus Sentinel-2 setup, operational deployment