AI with map.army: Generate and Analyse MilX® Files

map.army has no built-in AI. It does not need one: its layers are saved as MilX®, an open XML format, and AI assistants such as Claude can read and write XML. This page shows how to use an AI to create layers, check them and automate routine work, and what to watch out for.

Why AI can work with MilX®

A MilX document holds layers, each with symbols and tactical graphics, plus metadata.

A MilX file is plain text. It lists layers, and in each layer the symbols and tactical graphics with their coordinates — see MilX File Format. A symbol is written as a symbol identification code (SIDC), the 15-character code MIL-STD-2525 gives every symbol.

That makes MilX something an AI can handle in two ways:

  • In a chat — you paste text in, the AI answers with a MilX file or a summary.
  • In a tool — scripts and agents built on an AI (for example Claude Code, or an agent that runs a workflow on its own) read and write MilX files directly.

The AI never talks to map.army. It produces or reads a file; you load the file into map.army and check it there.

Generate a MilX® layer with AI

Fictional exercise layer generated by AI, in map.army: blue companies, attack arrows, red forces

Base map © swisstopo.

Give the AI what you have — a written order, a unit list, a table from a spreadsheet — and ask for a MilX layer. The example above was produced that way: three blue companies in an assembly area, a company boundary, a main and a supporting attack, two red companies and a red counter-attack. The exercise is fictional. You can download it as fictional-exercise.milxlyz and give it to your AI as a pattern. A .milxlyz is a ZIP archive holding the XML as Layer.milxly: unzip it to give the AI the XML, and zip the AI’s XML as Layer.milxly to get a .milxlyz again.

Then load the result into map.army in one of these ways:

WayWhen to use it
Load MilX in the Layer-Manager — see Import OverlaysA .milxlyz file on your own computer. An uncompressed .milxly loads too.
A layer link ?layer=<url> — see Load a MilX Layer via URL ParameterThe file is on a web server, for example produced by a script.
A MilX working folderPro and closed-network deployments only; switched off in the free hosted app — see Pro vs. Free.
Layer-Manager toolbar in map.army under 'Local MilX Layers' with the second icon, Load MilX, circled
Hint: Always review the result in map.army. An AI can pick a wrong symbol, put a unit in the wrong place or draw an arrow backwards, and the file still loads. Check every symbol and graphic on the map before you use the layer.

Analyse layers with AI

'Save as MilX' icon on the Local MilX Layers group header in map.army

Save your layers with Save as MilX — see Export Overlays. map.army always saves a zipped .milxlyz; unzip it to get the XML, or let your tool do it. Then ask the AI, for example:

  • Summarise the units by affiliation (friend, hostile, neutral) and by echelon (company, battalion …).
  • List positions, or which units lie inside a given area.
  • Find gaps — symbols without a designation, missing text modifiers, unexpected symbol codes.
  • Check consistency before an exercise — does every unit in the order appear on the map, and nothing else?

For other systems, map.army itself exports KML / KMZ and NVG; use those exports rather than an AI conversion when the target system reads them.

Automate with agents and scripts

An AI that can run tools can take over repetitive work around map.army. Typical workflows:

  • Batch-create layers from unit lists — one MilX layer per unit or per phase, written to a folder or a web server.
  • Nightly checks of shared overlays — download a layer, run the consistency checks above and report what changed.
  • Report generation — turn a layer into a written situation summary or a unit table for an exercise document.

Keep a person in the loop: the agent produces files and reports, a person reviews them in map.army before they are used.

Pitfalls when generating MilX®

These are the mistakes that most often break an AI-generated layer. Tell your AI about them up front.

Symbol codes

Each symbol is a 15-character MIL-STD-2525C SIDC inside <MssStringXML>, XML-escaped. Text modifiers are <Attribute> elements, identified by their modifier letter (T, M, H, G …):

<MssStringXML>&lt;Symbol ID="SFGPUCIZ---E---"&gt;&lt;Attribute ID="T"&gt;1&lt;/Attribute&gt;&lt;/Symbol&gt;</MssStringXML>

Let the AI use only codes it can verify, for example against the list of MIL-STD-2525C symbols on the symbol.army documentation, and check how each one renders.

Attribute values are validated

The MSS® (Military Symbol Service) checks attribute values, and an invalid value is rejected: the symbol does not render. Example: the direction of movement Q takes three digits — 060, not 60.

Coordinates

Use <CoordSystemType>WGS84</CoordSystemType>. In each point, <X> is the longitude and <Y> the latitude — the reverse of how coordinates are often spoken.

Point order in tactical graphics

For multi-point graphics, the order of the points carries meaning:

GraphicSIDCPoints
Main attackGFGPOLAGM------3 points: P1 arrow tip, P2 start of the shaft, P3 a point slightly behind the tip and offset sideways, which sets the width of the arrowhead
Supporting attackGFGPOLAGS------as main attack
BoundaryGFGPGLB----E---a polyline, any number of points
Assembly areaGFGAGAG--------a polygon; T carries the name

Swap P1 and P2 and the arrowhead is drawn at the start.

Security and data protection

Hint: Never put classified or personal information into a public AI service. What you paste into a chat or send through an API leaves your organisation. Where your rules require it, use an on-premise or otherwise approved AI.

What map.army itself does with your data is covered by the map.army privacy policy and described in Data Protection. It does not cover the AI service you choose.

Integration with MSS® and MilX® Web Services

To integrate symbol rendering or MilX processing into your own system, gs-soft offers the MSS and MilX Web Services. Contact mss@gs-soft.com.

Last updated: