Een tactische veldtoepassing staat of valt met haar basiskaart. Wanneer de soldaat met de telefoon in een vallei zit zonder mobiel signaal, zonder satellietverbinding en met een batterij die de hele missie moet meegaan, moet de kaart al op het toestel staan — elke tegel, elke hoogtelijn, elke weg, verpakt in een bestand dat is geladen voordat de operator de basis verliet. De vraag welk containerformaat die kaart bevat, is geen cosmetische. Ze bepaalt het opslagbudget, de renderprestaties, de tooling die je pijplijn nodig heeft, en of de data rechtstreeks in ATAK valt of in het veld een conversiestap vereist. Dit is een technische vergelijking van de drie formaten die ertoe doen: GeoPackage, MBTiles en PMTiles.
1. het probleem van de offline basiskaart
De bepalende beperking van een veldtoepassing is het ontbreken van backhaul. Er is geen tegelserver om aan te roepen, geen CDN, geen live API. Alles wat de renderer ooit zal tekenen, moet aanwezig zijn op lokale opslag voordat het toestel donker gaat. Dat maakt kaartlevering tot een verpakkingsprobleem: je hebt één enkel, kopieerbaar, verifieerbaar artefact nodig dat de kaartdata van een hele regio bevat en dat een mobiele renderer snel kan bevragen vanaf flashopslag.
Opslag is eindig en omstreden. Een ruggedized Android-eindgebruikerstoestel reserveert misschien 16–64 GB voor missiedata, gedeeld over beeldmateriaal, hoogtegegevens, full-motion-videofragmenten en de basiskaart. Een theaterbrede rasterbasiskaart op bruikbare zoomniveaus kan op zichzelf al tientallen gigabytes beslaan. Het containerformaat is dus niet zomaar een omhulsel — het compressiegedrag, de structuur van de tegelpiramide en de querykosten bepalen rechtstreeks hoeveel kaart je kunt meenemen en hoe snel ze tekent.
2. MBTiles — de SQLite-tegelcontainer
MBTiles is het formaat dat offline kaarten gewoon maakte. Het is in de kern een SQLite-database met een afgesproken schema: een tiles-tabel met sleutels op zoomniveau, kolom en rij, plus een metadata-tabel met naam/waarde-paren die grenzen, min/max-zoom, formaat en attributie beschrijven. De genialiteit zit in de eenvoud — elk platform met een SQLite-bibliotheek (en dat is elk mobiel platform) kan het openen en bevragen zonder speciale driver.
MBTiles bevat ofwel rastertegels (PNG, JPEG, WebP) ofwel vectortegels (Mapbox Vector Tiles, gzip-gecomprimeerde protobuf). Raster-MBTiles is wat de meeste veldoperators daadwerkelijk hebben gebruikt: voorgerenderd beeldmateriaal of gescande topografische bladen, in plakken gesneden volgens de standaard Web Mercator-tegelpiramide en in de database gestopt. Het format-veld in de metadata-tabel vertelt de client of png dan wel pbf te verwachten valt, en de TMS-rijnummeringsconventie (y-gespiegeld ten opzichte van XYZ) is het ene hardnekkige addertje dat elke nieuwe implementeerder één keer bijt.
De alomtegenwoordigheid is de kop. MBTiles is een de-factostandaard met een decennium aan tooling erachter, en het is de lingua franca van het open offline-mappingecosysteem. Als je een formaat moet kiezen dat iets stroomafwaarts zeker zal begrijpen, is MBTiles de veilige keuze.
3. PMTiles — het cloud-geoptimaliseerde formaat in één bestand
PMTiles, gemaakt door Brandon Liu, lost een probleem op dat MBTiles niet kan: tegels rechtstreeks vanuit statische opslag serveren zonder databaseproces. Een PMTiles-archief is één enkel bestand met een compacte directory vooraan en de tegeldata erachter, zo ingedeeld dat een client elke afzonderlijke tegel kan ophalen met een HTTP range request. Zet het bestand op een gewone object store of een flashkaart en de client leest de directory één keer, en doet daarna byte-range-aanvragen voor enkel de tegels die het nodig heeft — geen tegelserver, geen SQLite-proces, geen uitpakken.
Voor een veldtoepassing levert dit twee duidelijke voordelen op. Op een verbonden stagingnetwerk vervangt een PMTiles-archief op een statische bucket een volledige tegelserverstack, wat één ding minder is om uit te rollen en te accrediteren. Op het toestel kopieert en checksumt diezelfde append-only-indeling in één bestand netjes en is ze vriendelijk voor mmap-achtige leesoperaties. De geclusterde directory van het formaat houdt de index klein, zelfs voor archieven op planeetschaal, zodat de per-tegel-lookup goedkoop blijft. De afwegingen rond MBTiles- en PMTiles-offline kaarten komen neer op de vraag of je renderer het range-request-toegangspatroon van nature spreekt of een SQLite-handle verwacht.
Belangrijk inzicht: MBTiles, PMTiles en getegelde GeoPackage coderen allemaal exact dezelfde Web Mercator-tegelpiramide — dezelfde PNG- of vectortegel-bytes. De formaatoorlog gaat niet over de tegels; ze gaat over de index ervoor. Kies de index die past bij hoe je renderer opslag leest: SQLite-query, HTTP range of OGC-feature-toegang. De pixels zijn identiek.
4. GeoPackage — de OGC-standaard
GeoPackage (GPKG) is de enige van de drie die een formele open standaard is, gepubliceerd door het Open Geospatial Consortium en aangenomen als een container die relevant is voor de Amerikaanse National Geospatial-Intelligence Agency en de NAVO. Net als MBTiles is het gebouwd op SQLite, maar het is veel ambitieuzer: één enkel GeoPackage-bestand kan rastertegelpiramides, vectorfeaturetabellen met volledige geometrie en attributen, ruimtelijke indexen (R-tree) en de metadata om dat alles te beschrijven bevatten. Eén bestand kan tegelijk je basiskaart en je vectoroverlay zijn — tracks van eigen troepen, controlemaatregelen, benoemde aandachtsgebieden — in één bevraagbare, bewerkbare database.
Die reikwijdte is de reden dat GeoPackage domineert in de formele defensie-geospatiale wereld. Wanneer een geospatiale cel een missiedatapakket levert, laat GeoPackage beeldtegels en de geattribueerde featuredata samen reizen in één verantwoordbaar artefact met een gedocumenteerd schema dat het ontvangende systeem contractueel verplicht is te lezen. De prijs is dat GeoPackage zwaarder te produceren is en dat het volledige featuremodel meer is dan een pure basiskaart nodig heeft — je draagt een standaard mee die gebouwd is voor bewerkbare GIS-data, niet alleen voor een tegelcache.
5. afwegingen tussen omvang en prestaties
De formaatkeuze verandert de bestandsgrootte minder dan mensen verwachten, omdat de dominante kost de tegel-bytes zijn, en die zijn grotendeels gelijk over containers heen. De echte hefbomen zitten stroomopwaarts: tegelformaat (WebP verslaat PNG met 25–35% bij gelijke kwaliteit), de zoomniveau-afkapgrens, en of je vector of raster serveert.
Vectortegels zijn de grote winst. Een rasterbasiskaart van een land op zoom 0–16 kan 20–40 GB zijn; de equivalente vectortegelset, waarbij geometrie één keer wordt gecodeerd en bij het renderen wordt gestyled, komt voor dezelfde dekking routinematig uit op 1–3 GB. Vector laat het toestel ook on-the-fly herstylen — dag/nacht-paletten, missiespecifieke laagschakelaars — zonder tegels opnieuw te renderen. De kost is GPU en CPU bij het tekenen: het toestel stelt het beeld per frame samen in plaats van een voorgebakken afbeelding te blitten, en dat is precies het soort realtime kaartrendering-budget dat je moet profileren op de feitelijke doelhardware, niet op een laptop van een ontwikkelaar.
Wat de querykosten betreft liggen de drie in de praktijk dicht bij elkaar. SQLite-gebaseerde MBTiles en GeoPackage lossen een tegel op met een geïndexeerde primary-key-lookup — microseconden vanaf een warme cache. PMTiles lost op via de in-bestand-directory, wat één of twee leesoperaties zijn, eveneens verwaarloosbaar zodra de root-directory in cache staat. Geen van deze is de bottleneck; opslag-I/O en decode/render zijn dat. De eerlijke technische conclusie: kies het formaat op basis van de geschiktheid voor tooling en integratie, en besteed je prestatie-inspanning vervolgens aan tegelformaat, zoombudget en de renderer.
6. ATAK/TAK en ondersteuning van veldtoepassingen
Voor het TAK-ecosysteem is het antwoord concreet. ATAK leest MBTiles en GeoPackage native als basiskaartbronnen — zet het bestand in de juiste directory of importeer het via de package manager en het verschijnt als een selecteerbare kaartlaag. Raster-MBTiles is het meest beproefde pad en het pad waar de meeste operators naar grijpen. GeoPackage is de juiste keuze wanneer je het beeldmateriaal en de geattribueerde vectorfeatures in één importeerbaar missiepakket nodig hebt, wat de standaardmanier is waarop formele dataproducten de client bereiken.
PMTiles is de nieuwste aankomeling. Het wordt steeds vaker ondersteund via plugins en in moderne MapLibre-gebaseerde clients, maar het is nog niet de standaard native basiskaartimport in elke TAK-build, dus verifieer de specifieke clientversie voordat je het standaardiseert voor een uitgerold programma. De pragmatische workflow die veel teams hanteren: schrijven en opslaan in PMTiles voor de voordelen van levering in één bestand, en daarna exporteren naar MBTiles of GeoPackage voor het uiteindelijke toestelpakket wanneer de doelclient dat vereist.
7. tooling
De conversiepijplijn is waar de engineeringuren daadwerkelijk naartoe gaan. Voor vectortegels is tippecanoe — oorspronkelijk van Mapbox, nu onderhouden door Felt — het werkpaard: het zet GeoJSON of andere vectorbronnen om in een geoptimaliseerde MBTiles- of PMTiles-vectortegelset, en verzorgt het droppen van features, het samenvoegen en de zoomniveau-generalisatie zodat dichte data renderbaar blijft bij lage zoom. Het is het allerbelangrijkste hulpmiddel in een offline-vectorpijplijn.
Voor al het andere is GDAL de universele adapter. De raster- en vectorhulpprogramma's converteren tussen formaten, bouwen tegelpiramides en lezen of schrijven GeoPackage, MBTiles en (in huidige releases) PMTiles. ogr2ogr verplaatst vectorfeatures naar GeoPackage-featuretabellen; gdal_translate en gdaladdo bouwen raster-GeoPackage-tegelpiramides; gdal2tiles snijdt beeldmateriaal in de standaardpiramide. Een typische productiepijplijn keten brondata → GDAL of tippecanoe → container → integriteitscontrole → missiedatapakket, gescript en reproduceerbaar zodat dezelfde regio byte-voor-byte opnieuw wordt opgebouwd. De PMTiles-commandoregeltool maakt het compleet, door MBTiles om te zetten naar PMTiles en archiefdirectory's te inspecteren.
8. kiezen voor een veldtoepassing
De beslissing valt uiteen in drie vragen. Ten eerste: raster of vector? Als je vectortegels van begin tot eind kunt schrijven en stylen, doe dat dan — de 10x kleinere omvang en het herstylen op het toestel zijn doorslaggevend voor opslagbeperkte toestellen. Val alleen terug op raster wanneer de bron beeldmateriaal of gescande bladen zijn die geen vectorequivalent hebben.
Ten tweede: levering in één bestand of rijkdom aan features? Als je beeldmateriaal plus geattribueerde, bewerkbare vectorfeatures in één verantwoordbaar artefact nodig hebt — het formele missiedatapakket-geval — dan is GeoPackage het antwoord, en de OGC-standaardstatus is wat het over een coalitie heen aanvaard krijgt. Als je een pure basiskaart levert en het lichtste leveringsverhaal wilt, wint het serverloze model in één bestand van PMTiles.
Ten derde: wat leest de client vandaag? Voor TAK-programma's die nu uitrollen is raster- of vector-MBTiles voor de basiskaart en GeoPackage voor gecombineerde beeld-plus-feature-pakketten de pragmatische standaard — beide importeren native, beide zijn beproefd. Adopteer PMTiles waar je renderer al range requests spreekt en je de clientversie beheert. Wat je ook kiest, houd het formaat buiten je kerndomein: sla de canonieke kaartdata één keer op en behandel MBTiles, PMTiles en GeoPackage als onderling uitwisselbare exportdoelen vanuit één reproduceerbare pijplijn. De container is een verpakkingsbeslissing, geen architectuur waarin je vast zou moeten zitten.