Common operational pictures
Add tactical overlays to an existing web COP without replacing its map or data services.
Zaes Tactical Graphics generates editable MIL-STD-2525E, FM 1-02.2 and APP-06 control measures, tactical mission tasks, boundaries, corridors, sectors, obstacles, and other multipoint graphics as portable GeoJSON. Use them in planning, rehearsal, training, common operational pictures, and other mission applications.
The library handles the geometry for multipoint control measures. Your application keeps its basemap, data, storage, permissions, tracks, overlays, and workflow.
Add tactical overlays to an existing web COP without replacing its map or data services.
Draw, edit, save, and restore control measures for operational planning and training workflows.
Use the graphic families relevant to a focused mission application instead of building a full symbol engine.
Put a working tactical-graphics workflow in front of operators before committing to a larger integration.
A capable development team can adopt the library under the MIT license on its own. Bring us in when the schedule, integration, or mission workflow needs a team that already knows the code and the problem.
Add drawing, editing, storage, and exchange of tactical graphics to an existing COP or planning application.
Typical scope: renderer integration, editing UI, saved overlays, and connections to existing application services.
Implement the graphics, amplifiers, renderer support, or exchange behavior a program needs.
Typical scope: a defined symbol family, new renderer adapter, or extension for a particular program.
Connect tactical graphics to representative tracks, overlays, data services, and operator workflows.
Typical scope: a working demonstration used to evaluate a use case before larger integration.
Prepare the implemented capability for the program environment and the team that will own it.
Typical scope: testing, documentation, SBOM, deployment packaging, maintenance planning, and transition support.
The gallery below comes from the demo application's Draw samples function. The live demo lets you draw a graphic, move its control points, change its properties, and switch between the OpenLayers and MapLibre renderers.
Open the live demo →
The open source package draws on 2D maps. Commercial add-ons from Zaes carry the same graphics and the same saved files further: onto Cesium terrain in 3D, into WinTAK, ATAK and TAK Server, both ways, to other command and control systems as NATO Vector Graphics or C2SIM, and into the ArcGIS Maps SDK. They are licensed separately from the MIT package.
Every graphic the library draws, draped over Cesium terrain, with airspace standing up as volumes. Built for CesiumJS; terrain, imagery, and Cesium ion services are customer provided or separately licensed.
Click to enlarge
The planners' graphics in WinTAK and ATAK, drawn and edited with the same library as the web app and kept in step with it through a TAK Server mission, so the people carrying the plan see what the planners drew, and the planners see what changed.
Click to enlarge
Share plans with other command and control systems in the formats they read: NATO Vector Graphics (NVG), the NATO format for exchanging tactical overlays, and C2SIM, the SISO standard for passing plans between command and control systems and simulations.
All 323 graphics in the ArcGIS Maps SDK for JavaScript, drawn, edited and saved in a MapView with the same gestures and files as the other engines.
The input is a GeoJSON feature with a Zaes tacticalGraphic property. The core returns generated GeoJSON plus label anchors and edit handles. A renderer adapter is still required for full styling and interaction in a map.
A point-symbol library places a unit or equipment symbol at one coordinate. Tactical graphics turn multiple user-defined points into editable lines, areas, corridors, sectors, obstacles, and mission tasks that must retain their intended form as the geometry changes. Zaes focuses on that multipoint problem and can be used alongside point-symbol libraries such as milsymbol.
import { renderTacticalGraphic, TacticalGraphicName }
from '@zaes/tactical-graphics';
const { graphic, labels, handles } =
renderTacticalGraphic({
type: 'Feature',
geometry: {
type: 'LineString',
coordinates: [
[-77.04, 38.89],
[-76.95, 38.95]
]
},
properties: {
tacticalGraphic: {
name: TacticalGraphicName.MainAxisOfAdvance,
designation: '1-508 IN',
hostility: 'Friend',
width: 300
}
}
});
The core has no OpenLayers or MapLibre dependency. It can run in a browser, server process, or test runner.
OpenLayers and MapLibre adapters provide drawing and editing behavior for each map. Another engine requires another adapter.
Save the original feature and the properties that define the tactical graphic so the application can restore it as editable control points.
The core depends only on the individual Turf modules it calls — 34 packages in the production tree, every one permissively licensed. Mapping libraries are optional peer dependencies used by their respective entry points.
| Import | What it provides | Additional library |
|---|---|---|
@zaes/tactical-graphics | Geometry, paint descriptions, label anchors, and edit handles | individual @turf/* modules |
…/openlayers | OpenLayers drawing, styling, and editing adapter | ol peer |
…/maplibre | MapLibre layers, styling, and editing adapter | maplibre-gl peer |
The library follows MIL-STD-2525E (Change 1, March 2025), the joint standard, for its control measures and entity codes. It uses FM 1-02.2 (January 2025, with Change 1), the Army's compilation of the 2525E land symbols, for shape and amplifier placement, and NATO APP-06 Edition E, the NATO counterpart, for anchor-point rules. Automated regression tests protect the implemented behavior as the library changes.
Zaes does not claim government certification or independent conformance validation. Programs should perform the review appropriate to their mission and configuration.
288 of the 323 graphics are in MIL-STD-2525E Change 1, checked against its control measure table by entity code. The library does not claim full MIL-STD-2525 conformance.
The Army reference used for graphical plates and amplifier placement.
NATO Joint Military Symbology, Edition E - the source for the symbols and anchor-point numbering the joint standard shares. NATO is acknowledged as the publisher.
Every graphic records which of MIL-STD-2525E, FM 1-02.2 and APP-06 define it, and its six-digit entity code where one exists.
More than 300 graphics across 14 categories cover more than 300 doctrinal variants. A variant that differs only by an amplifier or property, such as affiliation or traffic direction, shares one graphic. Every APP-06 line and area group is complete.
A Leaflet renderer is planned for the open source package. Roadmap items are not current package capabilities.
The catalog groups the current package by graphic family and shows the actual generated output. A doctrinal variant may share one implementation when the difference is controlled by an amplifier or property.
The published package can be used, modified, and redistributed under its MIT license. It has no license key, seat count, or package telemetry. You do not need Zaes's permission to include it in your product. The add-ons are commercial and licensed separately.
Install the package, review the source, run the demo, and integrate it with your own team.
Documentation → GitHub repository →Sponsor a defined graphic family, amplifier, renderer, or integration that your schedule requires.
Describe the requirement →Use Zaes for application integration, a mission thread prototype, or program delivery and transition.
Discuss the application →Send us the mapping environment, the workflow, and the graphics that matter. We can tell you whether the open source package covers it and where Zaes could help.