# TAK Mission Package Manifest [ATAK File Formats Supported](https://tak.gov/documentation/resources/tak-developers/developer-documentation/atak-development/file-formats-supported) ## ATAK 5.5 Soruce Code {%preview https://github.com/TAK-Product-Center/atak-civ %} ## Cot Event Point ### Image MANIFEST/manifest.xml: Picture with same value: 5d14ff4e-f5ef-4b32-aa80-c720da0f4daf ```xml <MissionPackageManifest version="2"> <Configuration> <Parameter name="uid" value="0f9c30d6-89e2-45ee-afed-a12eb2e0d587" /> <Parameter name="name" value="DP-SYU-CT1-2024-04-21-NHP" /> </Configuration> <Contents> <Content ignore="false" zipEntry="5d14ff4e-f5ef-4b32-aa80-c720da0f4daf/5d14ff4e-f5ef-4b32-aa80-c720da0f4daf.cot"> <Parameter name="uid" value="5d14ff4e-f5ef-4b32-aa80-c720da0f4daf" /> <Parameter name="name" value="SYU-CT1.21.180731" /> </Content> <Content ignore="false" zipEntry="496545bb2467a69864aae7bc7c8c15d4/20240421_180730.jpg"> <Parameter name="uid" value="5d14ff4e-f5ef-4b32-aa80-c720da0f4daf" /> </Content> </Contents> </MissionPackageManifest> ``` Cot File: ```xml <?xml version='1.0' encoding='UTF-8' standalone='yes'?> <event version='2.0' uid='5d14ff4e-f5ef-4b32-aa80-c720da0f4daf' type='b-i-x-i' time='2024-04-21T12:04:33.810Z' start='2024-04-21T12:04:33.810Z' stale='2025-04-21T12:04:33.810Z' how='h-g-i-g-o' access='Undefined'> <point lat='24.145785' lon='120.636445' hae='121.097' ce='9999999.0' le='9999999.0' /> <detail> <status readiness='true' /> <archive /> <archive /> <remarks></remarks> <link uid='ANDROID-4d9f47b155248d48' production_time='2024-04-21T10:07:31.163Z' type='a-f-G-U-C' parent_callsign='SYU-CT1' relation='p-p' /> <contact callsign='SYU-CT1.21.180731' /> <color argb='-1' /> </detail> </event> ``` ### Video MANIFEST/manifest.xml: ```xml <MissionPackageManifest version="2"> <Configuration> <Parameter name="name" value="CCTV"/> <Parameter name="uid" value="071c6d31-2bc8-4cc7-84ec-29c1baaa3429"/> </Configuration> <Contents> <Content zipEntry="f0882413-a260-43e5-b311-2ea755614663/f0882413-a260-43e5-b311-2ea755614663.cot" ignore="false"> <Parameter name="uid" value="f0882413-a260-43e5-b311-2ea755614663"/> </Content> </Contents> </MissionPackageManifest> ``` Cot File: ```xml <?visible true?> <?persistorRestore True?> <event version="2.0" uid="0de7aec2-5bbe-4d53-8b2b-a833690d0814" type="b-m-p-s-p-loc" time="2024-10-06T06:31:55.89Z" start="2024-10-06T06:31:55.89Z" stale="2024-10-13T06:31:55.89Z" how="h-g-i-g-o" access="Undefined"> <point lat="24.1495349" lon="120.6234818" hae="78.7837097" ce="9999999" le="9999999" /> <detail> <contact callsign="CCTV 台74線(南屯一交流道到南屯二交流道)" /> <link type="a-f-G-U-C-I" uid="S-1-5-21-1126089573-1298947132-2304692398-1001" parent_callsign="Utaha-04" relation="p-p" production_time="2023-12-21T14:43:25Z" /> <archive /> <sensor fov="50" fovBlue="0" displayMagneticReference="0" range="43" fovGreen="1" fovAlpha="0.317647058823529" fovRed="1" azimuth="352" hideFov="true" strokeColor="16777215" /> <remarks /> <__video uid="6f50bdb6-c29b-4ff7-8b66-f7b0ca28ceb3"> <ConnectionEntry protocol="https" path="/abs2mjpg/bmjpg?camera=329" address="cctvc.freeway.gov.tw" port="443" uid="6f50bdb6-c29b-4ff7-8b66-f7b0ca28ceb3" alias="台74線(南屯一交流道到南屯二交流道)" roverPort="-1" rtspReliable="0" ignoreEmbeddedKLV="False" networkTimeout="5000" bufferTime="-1" /> </__video> </detail> </event> ``` ## Cot Remote Resources (KML Network Link) KML/KMZ Download: `atak/temp/` Setting Filepath: `atak/tools/import/import_links.xml` MANIFEST/manifest.xml: ```xml <MissionPackageManifest version="2"> <Configuration> <Parameter name="uid" value="02e7f8a6-a75c-4844-b614-5e0079bf11d7"/> <Parameter name="name" value="GuangfuOnlineMaps"/> <Parameter name="onReceiveImport" value="true"/> <Parameter name="onReceiveDelete" value="true"/> </Configuration> <Contents> <Content ignore="false" zipEntry="8ebbcd53ec299b565a8b7c31fad0eeed/GF.cot"/> <Content ignore="false" zipEntry="0dc70b363dfea3dea620a90d968cad83/PD.cot"/> <Content ignore="false" zipEntry="3a3e91941c5138f01cfc6794b675abfb/School.cot"/> </Contents> </MissionPackageManifest> ``` Cot File: ```xml <?xml version='1.0' encoding='UTF-8' standalone='yes'?> <event version='2.0' uid='f95bb767-f82d-4db5-a5ea-1b10d785f588' type='b-i-r-r' time='2025-09-30T03:46:03.176Z' start='2025-09-30T03:46:03.176Z' stale='2025-09-30T04:46:03.176Z' how='h-g'> <point lat='23.666264633041028' lon='121.42125221523214' hae='9999999.0' ce='9999999.0' le='9999999.0' /> <detail> <contact callsign='TCCCA' /> <RemoteResources> <RemoteResource name='Police_and_Fire_Stations' refreshSeconds='0' type='KMZ' url='https://docs.google.com/uc?id=1R4s_E7euYksGHFzLdtbdnODlcsH01vLW&amp;export=kmz' deleteOnExit='false' /> </RemoteResources> </detail> </event> ``` ## KML/KMZ Filepath: `atak/overlays` MANIFEST/manifest.xml: ```xml <MissionPackageManifest version="2"> <Configuration> <Parameter name="uid" value="9261f972-ae30-4138-ac58-aa03ce813b62" /> <Parameter name="name" value="DP-Taichung-Basic資料" /> </Configuration> <Contents> <Content ignore="false" zipEntry="88549eb3aa7a4bf9bee59f90467d946f/台中醫院.kmz"> <Parameter name="name" value="台中醫院.kmz" /> <Parameter name="contentType" value="KML" /> <Parameter name="visible" value="false" /> </Content> <Content ignore="false" zipEntry="3c0d0f7bcca7b83b8a50659f83e68b00/消防.kmz"> <Parameter name="name" value="消防.kmz" /> <Parameter name="contentType" value="KML" /> <Parameter name="visible" value="false" /> </Content> </Contents> </MissionPackageManifest> ``` ## Icon Set iconset (zip) MANIFEST/manifest.xml: ```xml <MissionPackageManifest version="2"> <Configuration> <Parameter name="name" value="Generic Icons.zip"/> <Parameter name="uid" value="86eb307e-a301-467f-8d3f-e4621e0d5b07"/> <Parameter name="onReceiveDelete" value="true"/> <Parameter name="onReceiveImport" value="true"/> </Configuration> <Contents> <Content zipEntry="71bc3bb042e94d94b036be09954d8abc/Generic Icons.zip" ignore="false"/> </Contents> </MissionPackageManifest> ``` `71bc3bb042e94d94b036be09954d8abc/Generic Icons.zip/iconset.xml` ```xml <iconset name="Generic Icons" uid="ad78aafb-83a6-4c07-b2b9-a897a8b6a38f" defaultGroup="SqrNum" skipResize="false" version="1"> <icon name="A Pin Invert.png"/> </iconset> ``` ## GRG Overlays Filepath: `atak/grg` * Use Rubber Sheet to add geographic data into pdf/picture (KMZ) * Download Map as .ovr.sqlite * GeoPDF, GeoTIFF ... MANIFEST/manifest.xml: ```xml <MissionPackageManifest version="2"> <Configuration> <Parameter name="uid" value="6eaaf73b-1d70-467a-835c-f9244b97c730"/> <Parameter name="name" value="DP-GuangFu-Google-ImageOvers"/> </Configuration> <Contents> <Content ignore="false" zipEntry="8e702b4d5814eb49da110c41d33fc97/T-GRG-GoogleRaodNoPOI-GuangFu.ovr.sqlite"> <Parameter name="name" value="T-GRG-GoogleRaodNoPOI-GuangFu.ovr.sqlite"/> <Parameter name="contentType" value="External GRG Data"/> <Parameter name="visible" value="false"/> </Content> </Contents> </MissionPackageManifest> ``` ## DTED Filepath: `atak/DTED` Zip archive file: ``` taiwan-dted2 ├── e120 │   ├── N21.DT2 │   ├── N22.DT2 │   ├── N23.DT2 │   ├── N24.DT2 │   └── N25.DT2 ├── e121 │   ├── N21.DT2 │   ├── N22.DT2 │   ├── N23.DT2 │   ├── N24.DT2 │   └── N25.DT2 └── e122 ├── N21.DT2 ├── N22.DT2 ├── N23.DT2 ├── N24.DT2 └── N25.DT2 ``` MANIFEST/manifest.xml: ```xml <MissionPackageManifest version="2"> <Configuration> <Parameter name="uid" value="788c6026-5c96-48ac-9c43-f258aef852b9"/> <Parameter name="name" value="DTED2-Taiwan-2025.zip"/> </Configuration> <Contents> <Content ignore="false" zipEntry="taiwan-dted2/e120/N21.DT2"> <Parameter name="contentType" value="DTED"/> </Content> <Content ignore="false" zipEntry="taiwan-dted2/e120/N22.DT2"> <Parameter name="contentType" value="DTED"/> </Content> <Content ignore="false" zipEntry="taiwan-dted2/e120/N23.DT2"> <Parameter name="contentType" value="DTED"/> </Content> <Content ignore="false" zipEntry="taiwan-dted2/e120/N24.DT2"> <Parameter name="contentType" value="DTED"/> </Content> <Content ignore="false" zipEntry="taiwan-dted2/e120/N25.DT2"> <Parameter name="contentType" value="DTED"/> </Content> <Content ignore="false" zipEntry="taiwan-dted2/e121/N21.DT2"> <Parameter name="contentType" value="DTED"/> </Content> <Content ignore="false" zipEntry="taiwan-dted2/e121/N22.DT2"> <Parameter name="contentType" value="DTED"/> </Content> <Content ignore="false" zipEntry="taiwan-dted2/e121/N23.DT2"> <Parameter name="contentType" value="DTED"/> </Content> <Content ignore="false" zipEntry="taiwan-dted2/e121/N24.DT2"> <Parameter name="contentType" value="DTED"/> </Content> <Content ignore="false" zipEntry="taiwan-dted2/e121/N25.DT2"> <Parameter name="contentType" value="DTED"/> </Content> <Content ignore="false" zipEntry="taiwan-dted2/e122/N21.DT2"> <Parameter name="contentType" value="DTED"/> </Content> <Content ignore="false" zipEntry="taiwan-dted2/e122/N22.DT2"> <Parameter name="contentType" value="DTED"/> </Content> <Content ignore="false" zipEntry="taiwan-dted2/e122/N23.DT2"> <Parameter name="contentType" value="DTED"/> </Content> <Content ignore="false" zipEntry="taiwan-dted2/e122/N24.DT2"> <Parameter name="contentType" value="DTED"/> </Content> <Content ignore="false" zipEntry="taiwan-dted2/e122/N25.DT2"> <Parameter name="contentType" value="DTED"/> </Content> </Contents> </MissionPackageManifest> ``` ### Not Success Data Package?? MANIFEST/manifest.xml: ```xml <MissionPackageManifest version="2"> <Configuration> <Parameter name="uid" value="d7ab8dc6-bc5f-432f-be30-4f6d252db44a"/> <Parameter name="name" value="DTED2-Taiwan-2025.zip"/> </Configuration> <Contents> <Content ignore="false" zipEntry="taiwan-dted2-2025.zip"> <Parameter name="contentType" value="Zipped DTED"/> <Parameter name="name" value="taiwan-dted2-2025.zip"/> </Content> </Contents> </MissionPackageManifest> ``` ATAK will show extra failed, but import success. ## Maps Filepath: `atak/imageery` MANIFEST/manifest.xml: ```xml <MissionPackageManifest version="2"> <Configuration> <Parameter name="name" value="DP-Taiwna-Maps-V3.1"/> <Parameter name="uid" value="b5abd9ec-7414-48cf-a12d-e76051871d15"/> </Configuration> <Contents> <Content ignore="false" zipEntry="af60bae3c35515375c4235beec7222cd/TW_EMAP5.xml"> <Parameter name="name" value="TW_EMAP5.xml"/> <Parameter name="contentType" value="External Native Data"/> </Content> </Contents> </MissionPackageManifest> ``` ```xml <customMapSource> <name>TW_EMAP5</name> <minZoom>1</minZoom> <maxZoom>19</maxZoom> <tileType>png</tileType> <url>https://wmts.nlsc.gov.tw/wmts/EMAP5/default/GoogleMapsCompatible/{$z}/{$y}/{$x}.png</url> <tileUpdate>None</tileUpdate> <backgroundColor>#000000</backgroundColor> <ignoreErrors>false</ignoreErrors> </customMapSource> ``` ## Vector Maps MANIFEST/manifest.xml: ```xml <MissionPackageManifest version="2"> <Configuration> <Parameter name="uid" value="f86e807a-440b-40a2-b6df-45c487303d99"/> <Parameter name="name" value="t3-maps.json"/> <Parameter name="onReceiveImport" value="true"/> <Parameter name="onReceiveDelete" value="true"/> </Configuration> <Contents> <Content ignore="false" zipEntry="bb76750359eadf310b513b59d0480848/t3-maps.json"> <Parameter name="name" value="t3-maps.json"/> <Parameter name="contentType" value="External Native Data"/> </Content> </Contents> </MissionPackageManifest> ``` t3-maps.json ```json { "schema": "4.0.0", "title": "TAK Maps", "content": "vector", "downloadable": true, "refreshInterval": 0, "url": "https://d3c2bw74fo3eg6.cloudfront.net/t3/dataset-containers/vector/tmsm/planet-latest.osm/{$z}/{$x}/{$y}.pbf", "numLevels": 15, "metadata": { "styleSchema": "omt" } } ``` --- * ImportResolver * atak/ATAK/app/src/main/java/com/atakmap/android/importfiles/sort/ImportResolver.java - public abstract class ImportResolver - public Pair<String, String> getContentMIME() - ImportVideoAliasSort - atak/ATAK/app/src/main/java/com/atakmap/android/video/ImportVideoAliasSort.java - public Pair<String, String> getContentMIME() - Video Alias - application/xml - GeoPackageImporter - atak/ATAK/app/src/main/java/com/atakmap/android/gpkg/GeoPackageImporter.java - public Pair<String, String> getContentMIME() - GeoPackage - application/octet-stream - ImportMissionPackageSort - atak/ATAK/app/src/main/java/com/atakmap/android/importfiles/sort/ImportMissionPackageSort.java - public Pair<String, String> getContentMIME() - Data Package - application/zip - ImportCotSort - atak/ATAK/app/src/main/java/com/atakmap/android/importfiles/sort/ImportCotSort.java - public Pair<String, String> getContentMIME() - CoT Event - application/cot+xml - public static boolean isCoT(String content) - content has "<event" and "<point" - ImportDTEDZSort - atak/ATAK/app/src/main/java/com/atakmap/android/importfiles/sort/ImportDTEDZSort.java - public Pair<String, String> getContentMIME() - Zipped DTED - application/zip * IconsetAdapter * atak/ATAK/app/src/main/java/com/atakmap/android/icons/IconsetAdapter.java * public class IconsetAdapter extends BaseAdapter - private static final String TAG = "IconsetAdapter"; - public static final String ICONSET_CONTENTTYPE = "iconset"; AbstractMapComponent * GRGMapComponent (GRG) * atak/ATAK/app/src/main/java/com/atakmap/android/grg/GRGMapComponent.java * public class GRGMapComponent extends AbstractMapComponent - public static final String IMPORTER_CONTENT_TYPE = "External GRG Data"; - public static final String IMPORTER_DEFAULT_MIME_TYPE = "application/octet-stream"; - public static final String IMPORTER_TIFF_MIME_TYPE = "image/tiff"; - ==LayersMapComponent== (WFS??) - atak/ATAK/app/src/main/java/com/atakmap/android/layers/LayersMapComponent.java - public class LayersMapComponent extends AbstractMapComponent - public static final String IMPORTER_CONTENT_TYPE = "External Native Data"; - public static final String IMPORTER_DEFAULT_MIME_TYPE = "application/octet-stream"; - ElevationOverlaysMapComponent - atak/ATAK/app/src/main/java/com/atakmap/android/elev/ElevationOverlaysMapComponent.java Importer - AbstractImporter - atak/ATAK/app/src/main/java/com/atakmap/android/importexport/AbstractImporter.java - public abstract class AbstractImporter implements Importer AbstractImporter - WFSImporter - atak/ATAK/app/src/main/java/com/atakmap/android/wfs/WFSImporter.java implements Parcelable - UserCredentials - BasicUserCredentials - GetVideoListRequest - PostVideoListRequest - CertificateCSRRequest - NetworkContact - QueryUserTracksRequest - CotPoint - NameValuePair - RetryRequest - DeviceProfileRequest - GetCotEventRequest - GetFilesRequest - ActionBroadcastData - GetClientListRequest - ServerContact - SimpleHttpRequest - PostUserTracksRequest - ResourceFile - ==MIMEType== - CotEvent - PostErrorLogsRequest - ExportTrackParams - GetFileRequest - QueryMissionPackageRequest - GetCotHistoryRequest - GetServerVersionRequest - GeoPoint - PostPackageRequest - ActionMenuData - MissionPackageContents - atak/ATAK/app/src/main/java/com/atakmap/android/missionpackage/file/MissionPackageContents.java - public class MissionPackageContents implements Parcelable - private static final String TAG = "MissionPackageContents"; - FileTransfer - ==RemoteResource== * atak/ATAK/app/src/main/java/com/atakmap/android/importfiles/resource/RemoteResource.java - public class RemoteResource implements Parcelable - private static final String TAG = "RemoteResource"; - MissionPackageConfiguration - MissionPackageManifest - atak/ATAK/app/src/main/java/com/atakmap/android/missionpackage/file/MissionPackageManifest.java - public class MissionPackageManifest implements Parcelable - private static final String TAG = "MissionPackageManifest"; - MissionPackageQueryResult - GetAllServerGroupsRequest - private static final String TAG = "ChannelsGetAllServerGroupsRequest"; - CertificateConfigRequest - private static final String TAG = "CertifiateConfigRequest"; - ActionClickData - SetActiveServerGroupsRequest - private static final String TAG = "ChannelsSetActiveServerGroupsRequest"; - ActionBroadcastExtraStringData