Model a Tactical Graphic

A tactical graphic is an Object with control-measure semantics, source geometry, and optional MIL-STD-2525 symbology. The Object is the authoritative operational record; a compatible client uses the SIDC, geometry, and modifiers to render the graphic.

What makes a tactical graphic

A tactical graphic uses these fields together:

  • Set ontology.category to ONTOLOGY_CATEGORY_CONTROL_MEASURE and use ontology.type for a useful semantic name.

  • Put the points or parameters authored by the source in shape.

  • Put the revision-specific symbol code in symbology.sidc and set symbology.version to the revision that defines that encoding.

  • Put display values such as designation, distance, azimuth, altitude, and effective time in the modifier fields that the current Symbology contract supports for that revision.

The points in shape do not change just because you use a different 2525 revision. Charlie, Delta, and Echo encode the symbol differently, but shape still holds the original points or parameters. Because the available graphics and modifier fields can change between revisions, keep the SIDC, version, and modifiers from the same revision. Check the public WDM module to see which revisions and fields your WDM version supports.

Store only the points supplied by the authoring system. Do not add points that a renderer generates to draw arrowheads, curves, outlines, or corridor edges. Different renderers may draw those details differently. Keeping them out of shape lets every client start from the same source geometry.

Choose the construction geometry

These examples show common ways to represent tactical graphics in WDM.

MIL-STD-2525 defines many other graphics, each with its own construction rules. This table is not exhaustive.

For another graphic, follow the selected revision’s construction-point rules and choose the shape variant that preserves the authored points or parameters.

Graphic Shape Modeling rule

Ambush.

shape.polyline.

Store the ordered control points defined by the symbol’s 2525 construction rule.

Axis of advance, including airborne variants.

shape.polyline.

Store the authored path or control points. The SIDC determines the arrow and other rendered decoration.

Air corridor.

shape.polyline plus the supported revision-specific width field.

Store the corridor centerline as ordered positions and encode its width using the selected revision’s modifier representation. The 2525C example below uses symbology.modifiers.distance.

Assembly area or another authored closed boundary.

shape.polygon.

Store the exterior ring and any holes. Close each ring and follow the winding rules in spatial.proto.

Circular or rectangular control measure.

shape.circle or shape.rectangle.

Use the parametric geometry when the source defines the measure by center, radius, centerline, or width.

Some tactical graphics render as filled areas even though their source construction is an open sequence of control points. Use shape.polyline for those graphics unless the source actually supplied a closed boundary.

Example 2525C air corridor

This example intentionally uses MIL-STD-2525C. Its symbology.sidc value is a 15-character Charlie code, so the matching version is SIDC_VERSION_2525C. The Object also carries the corridor centerline and a 2,000-meter width in the Charlie distance modifier. For a later revision, keep the same Object and shape pattern but supply that revision’s SIDC, version value, and supported display data.

{
  "id": "air-corridor-blue",
  "security": {
    "raw": "U"
  },
  "name": "Air Corridor Blue",
  "ontology": {
    "category": "ONTOLOGY_CATEGORY_CONTROL_MEASURE",
    "type": "air_corridor"
  },
  "shape": {
    "polyline": {
      "positions": [
        {
          "latitudeDegrees": 34.9472,
          "longitudeDegrees": 36.7124
        },
        {
          "latitudeDegrees": 35.0821,
          "longitudeDegrees": 36.9315
        },
        {
          "latitudeDegrees": 35.2194,
          "longitudeDegrees": 37.1842
        }
      ]
    }
  },
  "assessment": {
    "affiliation": "AFFILIATION_FRIEND"
  },
  "symbology": {
    "sidc": "GFGPALC---****X",
    "version": "SIDC_VERSION_2525C",
    "modifiers": {
      "uniqueDesignation": "AC BLUE",
      "distance": [
        2000.0
      ]
    }
  },
  "provenance": {
    "name": "Airspace Control Plan",
    "producer": "mission-planning-adapter",
    "updatedAt": "2026-09-14T18:33:36Z"
  }
}

WDM transports the information needed to render this graphic, but it does not prescribe a rendering library. A client that does not implement multi-point 2525 graphics can still display or reason over the stored centerline and metadata.

The full contracts are in the public WDM module, primarily raft/wdm/v1/object.proto, spatial.proto, symbology.proto, and ontology.proto.