Data Sources¶
The BMS map sources configuration (data/map/bms-map-sources.json) includes 13
LocalTileServer sources that point to the tile server. These are offline mirrors
of their remote counterparts.
Available Local Sources¶
| Local Source Name | Remote Source | Type |
|---|---|---|
| Local - OpenStreetMap | OpenStreetMap - Standard | Street |
| Local - ESRI World Imagery | ESRI - World Imagery | Satellite |
| Local - Google Hybrid | Google - Hybrid | Hybrid |
| Local - Google Satellite | Google - Satellite Only | Satellite |
| Local - CartoDB Dark | CartoDB - Dark Matter | Dark theme |
| Local - OpenTopoMap | OpenTopoMap | Topographic |
| Local - Sentinel-2 True Color | Sentinel-2 L2A - True Color | Satellite |
| Local - Sentinel-2 False Color | Sentinel-2 L2A - False Color | Vegetation |
| Local - OpenSeaMap Base | OpenSeaMap – Base Chart | Nautical |
| Local - Bing Satellite | Bing - Satellite | Satellite |
| Local - GA National Base Map | GA - National Base Map | Street |
| Local - GA Topographic | GA - Topographic | Topographic |
| Local - GA Satellite Imagery | GA - Satellite Imagery | Satellite |
Configuring the BMS¶
The BMS reads sources from data/map/bms-map-sources.json (or the installed copy at
/usr/share/gva/data/map/bms-map-sources.json). Each LocalTileServer entry looks like:
{
"name": "Local - OpenStreetMap",
"minZoom": 0,
"maxZoom": 19,
"tileType": "png",
"tileUpdate": "None",
"url": "http://localhost:8070/tiles/openstreetmap-openstreetmap---standard/{$z}/{$x}/{$y}.png",
"backgroundColor": "#E8E0D8",
"provider": "LocalTileServer",
"noCache": true
}
Key fields:
url— Points tolocalhost:8070with the source slug pathprovider— Set toLocalTileServerto identify offline sourcesnoCache— Set totrueto prevent double-caching (tiles already live in the tile server cache)
BMS Integration¶
The BMS application can use the local tile server as a map source. Sources with the
LocalTileServer provider fetch tiles from http://localhost:8070/tiles/... instead
of remote servers.
double-caching to disk
No-Cache Flag¶
Local tile server sources have "noCache": true in the map sources JSON. This tells
the BMS not to re-cache tiles to disk since they are already stored in the tile server's
cache. Tiles are still held in the BMS memory cache for fast rendering.
Adding a New Local Source¶
To add a new remote source as a local mirror:
-
Sync the remote source to populate the cache:
-
Find the source slug (lowercase provider-name, spaces →
-): -
Add a LocalTileServer entry to
bms-map-sources.json: -
Restart the BMS — the new source appears in the map selector.
Tile Cache¶
Directory Structure¶
/var/cache/gva-maptiles/
├── openstreetmap-openstreetmap---standard/
│ ├── 0/0/0.png
│ ├── 7/63/42.png
│ └── 12/2038/1365.png
├── esri-esri---world-imagery/
│ └── ...
├── geoscienceaustralia-ga---national-base-map/
│ └── ...
└── copernicus-sentinel-2-l2a---true-color/
└── ...
Shared Cache¶
Both the tile server (systemd) and BMS application share the same cache directory via a symlink:
This means tiles synced by the tile server are immediately available to the BMS, and tiles cached by the BMS during online operation are available to the tile server for serving.