Tak Packet V2Data
Platform-agnostic data model for a TAKPacketV2 — the SDK's internal representation, decoupled from any specific protobuf library.
The parser (CotXmlParser) produces it from CoT XML; the builder (CotXmlBuilder) renders it back; TakPacketV2Serializer converts it to/from protobuf wire bytes (each platform uses its native protobuf library).
Shape: 26 envelope fields (the always-present scalars below) plus a single payload of type Payload (a sealed hierarchy with one variant per oneof arm). Two optional top-level annotations — environment and sensorFov — attach to any payload variant. PLI is implicit: there is no bool pli field; a packet whose payload is Payload.None (modeled here as Payload.Pli) and whose cotTypeId is an a-f-* friendly type IS a PLI position report.
All numeric fields carry the wire units documented per-property below (degrees×1e7 coordinates, cm/s speed, degrees×100 course, meters-HAE altitude); the data model stores already-converted integers, not floats.
Constructors
Types
Weather annotation from a CoT <environment> detail element.
Sensor field-of-view cone from a CoT <sensor> detail element.
Properties
well-known CoT type as a CotType enum int (see CotTypeMapper); CotTypeMapper.COTTYPE_OTHER when the type is unknown.
raw CoT type string, set only when cotTypeId is CotTypeMapper.COTTYPE_OTHER so unknown types round-trip losslessly; null otherwise.
device identifier from <uid Droid="…"/>.
Observed weather annotation from <environment> CoT detail element. Attaches to any payload variant. null means the source XML had no <environment> element — preserved as proto3 optional on the wire.
position source as a GeoPointSource enum int (see the GEOSRC_* constants in CotXmlParser).
coordinate-generation method as a CotHow enum int (see CotTypeMapper).
longitude in degrees × 1e7 (sfixed32 wire convention).
optional free-text <remarks> for non-chat payload types; stripped by TakCompressor.compressWithRemarksFallback when over MTU.
Sensor field-of-view cone from <sensor> CoT detail element. Attaches to any payload variant. null means the source XML had no <sensor> element.
seconds from the event's time to its stale timestamp; the builder floors this at 45 s on emit.
TAK platform (ATAK-CIV, iTAK, WinTAK).
TAK client version string.
Team palette enum value (1..14; see AtakPalette), 0 = unspecified.