‹ Console Consilium Belli · field maps
Field Maps & ATAK Setup

Maps that work when the internet doesn't.

The honest way to get usable maps offline: a ready‑to‑import map‑source pack for ATAK/WinTAK (lawful sources only), the glue scripts for imagery and paper backups, and the rules that keep it legal and sane. What's automatable is generated here; the final "Download" you tap in ATAK yourself.

01

Common‑sense rules (read first)

02

The map‑source pack — import‑ready

Download a source file and import it in ATAK: Maps → import (or drop it in atak/tools/). All lawful, cacheable sources.

OSM StreetsOpenStreetMap · z0–19XML ↓
Esri World Imagerysatellite · z0–19XML ↓
Esri World Topotopographic · z0–19XML ↓
OpenTopoMapcontours · z0–17XML ↓
USGS Imagery TopoUS only · z0–16XML ↓
NZ Topo50 (LINZ)needs a free LINZ keyXML ↓
LINZ key: the NZ Topo50 file has a YOUR_LINZ_API_KEY placeholder — replace it with a free LINZ Basemaps Developer key (basemaps.linz.govt.nz → Contact us). For a bigger community set, import the joshuafuller/ATAK‑Maps pack. Official ATAK/CivTAK: tak.gov.
03

The layer stack

A "full" map isn't one giant file — it's a stack you toggle in Overlay Manager.

LayerRoleSource
Base imageryWhat the ground looks likeEsri / OSM tiles, or USGS GeoTIFF
Topo / contoursTerrain & elevationEsri Topo, OpenTopoMap, USGS
Roads / labelsNavigationOSM
High‑res patchesBuildings, yards, objectivesUSGS ortho GeoTIFF (US)
Your overlaysRoutes, points, survey plansKML/KMZ, CoT, data packages
Tie‑in: the Survey planner exports a KML flight plan you import straight into ATAK as an overlay — that's your "your overlays" row, generated for you.
04

The workflow

  1. Install CivTAK (tak.gov) and import the map‑source pack above.
  2. Cache a wide area, coarse. Maps → pick a source → Select Area → draw a rectangle → keep the tile count under the cap → download to a tileset.
  3. Add high‑detail patches of the same source for towns, trails and objectives — into the same tileset.
  4. US only — add USGS ortho. Free USGS EarthExplorer account → High Resolution Ortho Imagery → bulk download → import the GeoTIFF (mosaic first if many — see the glue below).
  5. Stack in Overlay Manager — imagery on top in key areas, topo underneath as a toggle, roads/labels as another. Lock a layer if sources fight.
  6. Paper backup — print the same extent in QGIS with grid + coordinates + declination.
  7. Clone to other devices — package as an ATAK data package; copy large base maps over Wi‑Fi/USB.
05

Glue scripts (desktop)

The parts that are automatable — run these on a desktop with GDAL / QGIS installed.

Mosaic adjacent GeoTIFFs (GDAL)

gdalbuildvrt mosaic.vrt tile1.tif tile2.tif tile3.tif
gdal_translate -of GTiff -co TILED=YES \
  -co COMPRESS=JPEG mosaic.vrt ao_imagery.tif
# keep every input in the same CRS first, e.g.:
# gdalwarp -t_srs EPSG:3857 in.tif in_3857.tif

Paper map layout (PyQGIS, sketch)

layout = QgsPrintLayout(QgsProject.instance())
layout.initializeDefaults()
# add map item, set extent + scale, then a grid:
grid = mapItem.grid()
grid.setEnabled(True); grid.setIntervalX(1000); grid.setIntervalY(1000)
# add scale bar, north arrow, declination note, export:
QgsLayoutExporter(layout).exportToPdf('ao_map.pdf', QgsLayoutExporter.PdfExportSettings())
USGS imagery (US): use the official USGS M2M API / bulk tools (e.g. the usgsxplore Python package) — search by bounding box + date + cloud cover, download, then mosaic with the GDAL snippet. Legal and clean on USGS products.
06

What we can & can't automate

◆ All Pages