What is Cursor on Target (CoT)?
Cursor on Target (CoT) is an XML-based data format used for real-time situational awareness and command-and-control applications. It provides a standardized way to represent position, status, and other tactical information.CoT Message Structure
Basic XML Format
A CoT message consists of three main elements:event, point, and detail.
Event Element
The root element containing metadata about the tactical event.Schema version of the CoT message (typically “2.0”)
Globally unique identifier for this event. Format varies by event type.
Hierarchical CoT type string (e.g., “a-f-G-E-S” for friendly ground equipment)Format:
a-{attitude}-{dimension}-{function}-{specific}- a: Atom (basic entity)
- attitude: f (friendly), h (hostile), n (neutral), u (unknown)
- dimension: G (ground), A (air), S (surface), U (subsurface), P (space)
- function: E (equipment), U (unit), I (installation), etc.
Timestamp when the event was generated (ISO 8601 format with Zulu time)Format:
YYYY-MM-DDTHH:MM:SS.fffZTimestamp when the event becomes valid
Timestamp when the event should be considered expiredDefault: 60 seconds after generation time
How the coordinates were generatedCommon values:
h-g-i-g-o: Human-generated, GPS, observedm-g: Machine-generated, GPSh-e: Human-entered
Access control restrictions for this event
Point Element
Defines the geographic location of the event.Latitude in decimal degrees (WGS 84 ellipsoid)Range: -90.0 to 90.0
Longitude in decimal degrees (WGS 84 ellipsoid)Range: -180.0 to 180.0
Height Above Ellipsoid in meters
Circular Error (horizontal accuracy) in meters95% confidence that position is within CE radius
Linear Error (vertical accuracy) in meters95% confidence that altitude is within LE range
Detail Element
Contains additional information about the event. The detail element is extensible and can contain various sub-elements based on the event type.Common Detail Sub-elements
contact
contact
Contact information for the entityAttributes:
callsign: Display nameendpoint: Network endpoint information
__group
__group
Group/team membership informationAttributes:
name: Group/team namerole: Role within the group
takv
takv
TAK client version informationAttributes:
platform: Platform type (ATAK-CIV, WinTAK, iTAK)version: Client version number
track
track
Movement informationAttributes:
speed: Speed in meters per secondcourse: Direction of travel in degrees (0-360)
link
link
Relationship to other CoT entitiesAttributes:
uid: UID of linked entityrelation: Relationship typetype: CoT type of linked entity
remarks
remarks
Free-form text remarks or notes
marti
marti
Data package and file transfer informationSub-elements:
dest: Destination callsigns for the package
emergency
emergency
Emergency alert informationAttributes:
type: Emergency type (911 Alert, Ring The Bell, etc.)
CoT Type Hierarchy
Type String Format
CoT types use a hierarchical dot-separated format:Common CoT Types
- Positions
- Messages
- Special
| Type | Description |
|---|---|
a-f-G-E-S | Friendly ground equipment (static) |
a-f-G-E-V-C | Friendly ground vehicle - combat |
a-f-A-C | Friendly aircraft - civilian |
a-f-A-M-F | Friendly aircraft - military fixed wing |
a-h-G-U-C | Hostile ground unit - combat |
a-n-G | Neutral ground entity |
FTS CoT Domain Model
Event Class
The core CoT event implementation in FTS:Point Class
Detail Class
CoT Message Processing
Parsing Pipeline
XML to Domain Object
FTS converts XML to domain objects using a multi-step process:Type Mapping
FTS maintains mappings between machine-readable and human-readable CoT types: Machine-Readable → Human-Readablea-f-G-E-S→ “FriendlyGroundEquipment”b-m-p-s-p-loc→ “GeoChat”b-t-f→ “Ping”a-f-G-E-V-C→ “FriendlyGroundVehicle”
Serialization
Domain Object to XML
Common CoT Message Examples
Presence/Position Update
GeoChat Message
Emergency Alert
Data Package
Special Considerations
Time Handling
UID Format
UIDs should be globally unique. Common patterns:
- Position updates:
{platform}-{device-id}(e.g.,ANDROID-deadbeef) - GeoChat:
GeoChat.{sender-uid}.{chatroom}.{message-id} - Server events:
{hostname}.server-ping
Coordinate System
All coordinates use WGS 84 ellipsoid:
- Latitude: -90° to 90° (negative = south)
- Longitude: -180° to 180° (negative = west)
- HAE: Height above WGS 84 ellipsoid in meters
Related Documentation
Architecture
Understand FTS architecture
Services
Learn about FTS services
Components
Explore the component system
API Reference
REST API documentation