Jokainen Cursor on Target (CoT) -viesti on yksi XML-dokumentti, jonka juurielementti <event> kantaa tyyppikoodin, uniikin tunnisteen, kolme UTC-aikaleimaa ja <point>-sijainnin; kaikki muu kulkee avoimen <detail>-kontin sisällä. Tämä yksi muoto siirtää sijainnit, karttatunnukset, chatin, reitit, piirrokset, hälytykset ja lääketieteelliset pyynnöt ATAK:n, WinTAK:n, iTAK:n ja TAK Serverin välillä. Tämä sivu on kopiointikirjasto: kommentoitu, syntaktisesti kelvollinen CoT XML viesteille, joita taktiset järjestelmät todella vaihtavat, jokaisen mukana huomautus siitä, mitä vastaanottava TAK-asiakas sille tekee.

Formatin historiasta ja suunnittelusta lue Cursor on Target -katsauksemme, ja kenttä kerrallaan läpikäynnin CoT-skeeman syväsukellus; tämä artikkeli pysyy tarkoituksella ”näytä XML” -tasolla. Alla olevat elementti- ja attribuuttinimet on todennettu MITRE:n julkista CoT-perustapahtumaskeemaa, aliskeemadokumentaatiota ja TAK-asiakkaiden mukana julkaistuja CoT-tyyppimääritelmiä vasten. Kutsutunnukset, UID:t ja koordinaatit ovat fiktiivisiä; aikaleimat ovat havainnollistavia ISO-8601-UTC-arvoja.

CoT-viestin anatomia

Minimaalinen kelvollinen CoT-tapahtuma vaatii seitsemän <event>-attribuuttia, täsmälleen yhden <point>-elementin ja valinnaisesti <detail>-elementin:

<event version="2.0" uid="ANDROID-9c2f71a4" type="a-f-G-U-C" how="m-g"
       time="2026-10-07T06:12:44.000Z" start="2026-10-07T06:12:44.000Z"
       stale="2026-10-07T06:13:14.000Z">
  <point lat="50.450112" lon="30.523398" hae="152.4" ce="4.5" le="9.0"/>
  <detail>
    <contact callsign="GRIF-2" endpoint="*:-1:stcp"/>
    <__group name="Cyan" role="Team Member"/>
    <status battery="78"/>
    <takv platform="ATAK-CIV" version="5.2.0" device="Samsung SM-G975F" os="34"/>
    <track speed="1.4" course="270.0"/>
    <precisionlocation geopointsrc="GPS" altsrc="GPS"/>
  </detail>
</event>

Mitä kukin osa ohjaa vastaanottavassa asiakkaassa:

Cursor on Target -viestin anatomia: vasemmalla CoT-tapahtuman XML-runko, jossa event-attribuutit (uid, type, how, time, start, stale), point-elementti (lat, lon, hae, ce, le) ja detail-alaelementit (contact, __group, status, takv, track, precisionlocation, remarks, link, usericon, __chat); oikealla olevat nuolet yhdistävät kunkin osan siihen, mitä se ohjaa ATAK:ssa ja TAK Serverissä: karttakuvake ja kuuluvuusväri, vanhenemisen käsittely, sijainti ja tarkkuus, kutsutunnus, tiimin väri ja rooli, akku ja asiakasversio, nopeus- ja kurssivektori sekä GeoChat-reititys.
Jokainen CoT-tapahtuman elementti ohjaa tiettyä toimintaa ATAK:ssa, WinTAK:ssa ja TAK Serverissä — tyyppikoodin valitsemasta 2525-symbolista stale-aikaleiman laukaisemaan harmaoitumiseen.
OsaMerkitysMitä ATAK / TAK Server sille tekee
uidAsian identiteetti, ei viestinSama uid siirtää olemassa olevaa karttatunnusta; uusi uid luo uuden. Poistot ja hälytysten perumiset kohdistuvat siihen.
typePiste-viiva-taksonomia siitä, mikä asia onValitsee MIL-STD-2525-symbolin ja kuuluvuusvärin; ohjaa palvelinpuolen suodatusta ja federaatiosääntöjä.
howMiten sijainti on tuotettuPainottaa raportin fuusiossa (GPS, arvio tai välitetty); ATAK näyttää sen karttatunnuksen tiedoissa.
time / start / staleLuontiaika ja voimassaoloikkunaKun stale menee ohi, asiakkaat harmaattavat karttatunnuksen ja poistavat sitten sen; kukaan ei lähetä erillistä vanhenemisviestiä.
pointlat/lon (WGS-84-desimaaliasteet), hae (metriä ellipsoidin yläpuolella), ce/le (virhesäteet)Sijoittaa karttatunnuksen; ce voi piirtää tarkkuusrenkaan. Tuntemattomat arvot käyttävät sovittua sentinel-arvoa 9999999.
detailAvoin laajennuskonttiTunnetut alaelementit (alla) asettavat kutsutunnuksen, tiimivärin, akun, nopeusvektorin; tuntemattomat alaelementit ohitetaan, ei hylätä.

Kolme <point>-elementin ominaisuutta kompasteuttaa integroijia jatkuvasti. hae on korkeus WGS-84-ellipsoidin yläpuolella, ei keskimerenpinnan yläpuolella. ce ja le ovat 1-sigman vaaka- ja pystyvirherajat metreinä, ja skeema vaatii ne myös silloin, kun ne ovat tuntemattomia — arvo 9999999.0 on sovittu ”tuntematon”-sentinel ja parempi kuin itsevarma 0.0. Ja lat/lon ovat etumerkillisiä desimaaliasteita; kuusi desimaalia antaa noin 0,1 m resoluution; MGRS- tai UTM-vaihtoehtoa CoT:ssa ei ole.

CoT-tyyppikoodit ja how-arvot: lunttilappu

Attribuutti type on väliviivoin erotettu polku taksonomiassa, jonka ensimmäinen token kertoo, millainen tapahtuma on kyseessä:

Ensimmäinen tokenPerheTyypilliset käyttötarkoitukset
a-Atomit — todelliset asiatJoukot, ajoneuvot, lentokoneet, haavoittuneet, tapahtumat
b-Bitit — tieto-objektitChat, reitit, piirrokset, karttatunnukset, videoaliakset, hälytykset
t-Tehtävät / ohjausElvytyspingit, poistotehtävät, tietojen nouto
y-VastauksetKuittaukset, tehtävien tila

Atomeilla toinen token on kuuluvuus ja kolmas taistelualue; loput laskeutuvat MIL-STD-2525-funktiopuuta pitkin isoilla kirjaimilla, ja pienet kirjaimet on varattu CoT-laajennuksille:

TokenKuuluvuusTokenTaistelualue
pVireilläPAvaruus
uTuntematonAIlma
aOletettu omaGMaa
fOmaSMerenpinta
nNeutraaliUVedenalainen
sEpäiltyXMuu
hVihollinensen jälkeen tulevat 2525-funktiotunnukset isoilla kirjaimilla (esim. -U-C taistelu, -E-V-A-T panssarivaunu)

Koska taksonomia dekoodautuu etuliitteittä, asiakas, joka ymmärtää vain a-h-G:n, piirtää silti yleisen vihollisen maasymbolin koodille a-h-G-E-V-A-T. Yleisiä merkkijonoja oikeasta liikenteestä: a-f-G-U-C (oman maan taisteluyksikkö — ATAK-laitteen oletustyyppi), a-f-A-M-F-Q / a-f-A-M-H-Q (oma kiinteäsiipinen / roottoridrooni), a-u-G (tuntematon maa), b-m-p-s-m (spot map -karttatunnus), b-t-f (GeoChat), b-m-r (reitti), b-r-f-h-c (9-line-lääkintäpyyntö). Kuvakkeiden muuntuminen symboleiksi on kuvattu artikkelissa symbolien renderöinti TAK:ssa ja standardien vertailu artikkelissa APP-6 vs. MIL-STD-2525.

Attribuutti how tallentaa alkuperän, ja fuusiojärjestelmät painottavat sen mukaan raportteja:

howMerkitys
h-eIhmisen syöttämä arvio
h-c / h-t / h-pIhminen laskenut / kirjattu (ääni, paperi) / liitetty toisesta ikkunasta
h-g-i-g-oVirallisesti ”erittäin epäluuloinen jälki” — käytännössä ATAK leimaa näillä useimmat käsin asetetut karttatunnukset ja GeoChat-viestit
m-gKoneen tuottama GPS:stä (tarkennukset m-g-d DGPS, m-g-n INS+GPS)
m-i / m-f / m-rMitattu kuvasta / fuusioitu useista lähteistä / välitetty yhdyskäytävän kautta
m-n / m-s / m-cInertiaalinavigaatio / simulaatio / konfiguraatiotiedosto

Aikasäännöt: time, start ja stale ovat ISO 8601 UTC -arvoja, jotka päättyvät Z:aan (sekunnin murrot ovat valinnaisia). time on tapahtuman tuottamishetki; start–stale on voimassaoloikkuna. stale:n asettaminen ennen start:ia on MITRE:n alkuperäinen ”hylkää jälki” -konventio — vaikka TAK-verkoissa eksplisiittinen poistotehtävä (alla) on luotettavampi.

Sijaintiraportit: oma PLI ja viholliset tai neutraalit karttatunnukset

Sivun yläreunassa oleva esimerkki on oma sijaintiraportti (PLI): ATAK toistaa sen muutaman sekunnin välein samalla uid:lla, asettaa stale:n noin kahteen–neljään raportointiväliin plus varmuuden ja antaa kaikkien muiden asiakkaiden kerätä karttatunnuksen, jos päivitykset loppuvat. Anturisyötetyt tai operaattorin asettamat karttatunnukset käyttävät samaa tapahtumamuotoa eri type:llä ja pidemmällä stale:lla:

<event version="2.0" uid="E-20261007-0413" type="a-h-G-E-V-A-T" how="h-g-i-g-o"
       time="2026-10-07T06:41:02.000Z" start="2026-10-07T06:41:02.000Z"
       stale="2026-10-07T18:41:02.000Z">
  <point lat="50.412220" lon="30.591054" hae="9999999.0" ce="25.0" le="9999999.0"/>
  <detail>
    <contact callsign="K-41"/>
    <remarks source="BAO.F.ATAK.ANDROID-9c2f71a4">Hull-down at treeline, 2 vehicles</remarks>
    <usericon iconsetpath="COT_MAPPING_2525C/a-h/a-h-G-E-V-A-T"/>
    <link uid="ANDROID-9c2f71a4" type="a-f-G-U-C" relation="p-p"/>
    <archive/>
  </detail>
</event>

Mitä vastaanottajat tekevät: type maalaa panssarivaunun punaisen timanttisymbolin; contact/callsign muuttuu nimeksi; usericon kiinnittää täsmälleen oikean kuvakesetin merkinnän (muoto COT_MAPPING_2525C/<affiliation>/<type> on juuri se, mitä ATAK:n 2525-paletti tuottaa); link relation="p-p" mainitsee tuottajan; <archive/> käskee asiakkaita säilyttämään karttatunnuksen sen sijaan, että se vanhenisi stale:n mukana. Tuntemattomat kontaktit käyttävät yksinkertaisesti a-u-G:tä; keltainen kysymysmerkki-ikoni ilmestyy ilman muita muutoksia. Pelkälle värilliselle nastalle ilman 2525-koodausta ATAK käyttää spot map -karttatunnusta:

<event version="2.0" uid="9405e320-9356-41c4-8449-f46990aa17f8"
       type="b-m-p-s-m" how="h-g-i-g-o"
       time="2026-10-07T06:55:10.000Z" start="2026-10-07T06:55:10.000Z"
       stale="2026-10-08T06:55:10.000Z">
  <point lat="50.456090" lon="30.563750" hae="9999999.0" ce="9999999.0" le="9999999.0"/>
  <detail>
    <contact callsign="R 1"/>
    <color argb="-65536"/>
    <usericon iconsetpath="COT_MAPPING_SPOTMAP/b-m-p-s-m/-65536"/>
  </detail>
</event>

Tässä kuvakkeen valitsevat usericon spot map -paletista ja ARGB-väriarvo (etumerkillinen 32-bittinen kokonaisluku, -65536 on peittävä punainen) eikä symboliikkakoodi — hyödyllistä omille merkinnöille, jotka eivät saa vihjata 2525-identiteettiä.

GeoChat-viestit (b-t-f)

Chat TAK-maailmassa ei ole erillinen protokolla: GeoChat-rivi on b-t-f-tyyppinen CoT-tapahtuma, jonka teksti kulkee <remarks>:ssa ja osoitus <__chat>/<chatgrp>:ssa:

<event version="2.0"
       uid="GeoChat.ANDROID-9c2f71a4.All Chat Rooms.3f8c2b1e-77d3-4c9a-9e21-5b0f6a2d4e88"
       type="b-t-f" how="h-g-i-g-o"
       time="2026-10-07T07:02:31.000Z" start="2026-10-07T07:02:31.000Z"
       stale="2026-10-08T07:02:31.000Z">
  <point lat="0.0" lon="0.0" hae="0.0" ce="9999999.0" le="9999999.0"/>
  <detail>
    <__chat id="All Chat Rooms" chatroom="All Chat Rooms" groupOwner="false"
            senderCallsign="GRIF-2"
            messageId="3f8c2b1e-77d3-4c9a-9e21-5b0f6a2d4e88">
      <chatgrp uid0="ANDROID-9c2f71a4" uid1="All Chat Rooms" id="All Chat Rooms"/>
    </__chat>
    <link uid="ANDROID-9c2f71a4" type="a-f-G-U-C" relation="p-p"/>
    <remarks source="BAO.F.ATAK.ANDROID-9c2f71a4"
             time="2026-10-07T07:02:31.000Z">Bearing 085, treeline, over.</remarks>
  </detail>
</event>

Lukutapa: tapahtuman uid on konventionaalisesti GeoChat.<sender>.<conversation>.<message-uuid>, mikä tekee deduplikoinnista toistossa triviaalia; chatgrp/uid0 on lähettäjä ja uid1 kohde — yksittäisen vastaanottajan UID suorassa viestissä, huoneen nimi lähetysviestissä; remarks/@to kantaa vastaanottajan UID:n suorissa viesteissä; stale asetetaan päivää eteenpäin, koska chatin on — sijainneista poiketen — selvittävä store-and-forwardista. Toimitus- ja lukukuittaukset palaavat tyypeillä b-t-f-d ja b-t-f-r. Tapahtuman point voi ankkuroda viestin paikkaan kartalla; ATAK välittää myös lähettäjän reaaliaikaisen sijainnin, ellei operaattori kytke sitä pois. Koko store-and-forward- ja kaistanleveyskuva on artikkelissa taktinen chat ja datastrategia TAK-ympäristössä.

Reitit, piirrokset ja etäisyys-suuntima-viivat

Reitti on yksi b-m-r-tapahtuma, jonka reittipisteet ovat <link>-alaelementtejä — b-m-p-w nimetyille reittipisteille, b-m-p-c muotojen hallintapisteille — ja niitä seuraa <link_attr>-tyylittelylohko:

<event version="2.0" uid="9017073e-5658-42e7-baa8-b98f3c9c1622" type="b-m-r" how="h-e"
       time="2026-10-07T07:20:00.000Z" start="2026-10-07T07:20:00.000Z"
       stale="2026-10-08T07:20:00.000Z">
  <point lat="0.0" lon="0.0" hae="9999999.0" ce="9999999.0" le="9999999.0"/>
  <detail>
    <link uid="f3acf150-d75c-407d-be43-e401ab40fe74" callsign="SP"
          type="b-m-p-w" point="50.443353,-77.054400" remarks="" relation="c"/>
    <link uid="820ebf04-1300-4c3a-a368-d6f1e21a5ddb" callsign=""
          type="b-m-p-c" point="50.436413,-77.045642" remarks="" relation="c"/>
    <link uid="f6926af1-deec-44f4-ae06-46065c829887" callsign="CP1"
          type="b-m-p-w" point="50.446574,-77.040572" remarks="" relation="c"/>
    <link_attr planningmethod="Infil" color="-1" method="Driving" prefix="CP"
               type="Vehicle" stroke="3" direction="Infil" routetype="Primary"
               order="Ascending Check Points"/>
    <strokeColor value="-1"/>
    <strokeWeight value="3.0"/>
    <contact callsign="ROUTE ALFA"/>
    <remarks></remarks>
    <archive/>
    <labels_on value="true"/>
  </detail>
</event>

ATAK renderöi link point-luettelon reittigeometriaksi, nostaa b-m-p-w-merkinnät omia kutsutunnuksia kantaviksi reittipistekarttatunnuksiksi ja lukee link_attr:sta liikkumistavan (Driving|Walking|Flying|Swimming|Watercraft), suunnan (Infil|Exfil) ja reittityypin (Primary|Secondary). Tapahtuman oma point on 0/0-sentinel — geometria elää kokonaan detailissa.

Piirrokset noudattavat samaa ”geometria detailissa” -kaavaa. Ympyrä on yhtäsuurten akselien ellipsi <shape>:n sisällä:

<event version="2.0" uid="6d09b6f6-720a-4eef-a197-183012512316"
       type="u-d-c-c" how="h-e"
       time="2026-10-07T07:35:12.000Z" start="2026-10-07T07:35:12.000Z"
       stale="2026-10-08T07:35:12.000Z">
  <point lat="50.437376" lon="30.572999" hae="9999999.0" ce="9999999.0" le="9999999.0"/>
  <detail>
    <shape>
      <ellipse major="300.0" minor="300.0" angle="360"/>
      <link uid="6d09b6f6-720a-4eef-a197-183012512316.Style"
            type="b-x-KmlStyle" relation="p-c">
        <Style>
          <LineStyle><color>ffffffff</color><width>4.0</width></LineStyle>
          <PolyStyle><color>96ffffff</color></PolyStyle>
        </Style>
      </link>
    </shape>
    <strokeColor value="-1"/>
    <strokeWeight value="4.0"/>
    <fillColor value="-1761607681"/>
    <contact callsign="PATROL AREA"/>
    <labels_on value="true"/>
  </detail>
</event>

point on keskipiste, major/minor ovat metrejä, ja b-x-KmlStyle-tyyppisen linkin alle sisällytetty KML-tyylinen lohko kantaa ääriviivan ja täytön. Suorakulmio jättää shape-elementin pois ja luettelee kulmansa <link point="lat,lon"/>-alaelementteinä tyypillä u-d-r; vapaalla kädellä piirretty viiva tekee saman tyypillä u-d-f sulkiessaan monikulman toistamalla ensimmäisen pisteen lopussa. Etäisyys-suuntima-viiva on taas eri asia: tyyppi u-rb-a, point on ankkuri ja vektori on numeerinen:

<event version="2.0" uid="58df2fcd-e33e-414f-a718-b18b50cd3137"
       type="u-rb-a" how="h-e"
       time="2026-10-07T07:44:03.000Z" start="2026-10-07T07:44:03.000Z"
       stale="2026-10-08T07:44:03.000Z">
  <point lat="50.420806" lon="30.554945" hae="9999999.0" ce="9999999.0" le="9999999.0"/>
  <detail>
    <range value="886.14"/>
    <bearing value="45.6"/>
    <inclination value="0.0"/>
    <rangeUnits value="1"/>
    <bearingUnits value="0"/>
    <northRef value="0"/>
    <strokeColor value="-65536"/>
    <strokeWeight value="3.0"/>
    <contact callsign="R&amp;B 1"/>
  </detail>
</event>

Yksiköt koodataan pieniksi kokonaisluvuiksi: rangeUnits 0=km, 1=metriä, 2=mailia, 3=jaardia, 4=jalkaa, 5=merimailia; bearingUnits 0=astetta, 1=mailia, 2=radiaania; northRef 0=todellinen pohjoinen, 1=magneettinen, 2=ruudukko. ATAK laskee tuonnissa nuolenkärjen paikan uudelleen ankkurista ja vektorista.

Hälytykset ja CASEVAC-/MEDEVAC-pyynnöt

Hätämajakat ovat pieniä, kiireellisiä tapahtumia: tyyppi b-a-o-tbl yleiseen 911-hälytykseen, stale vain kymmenen sekuntia eteenpäin (majakkaa välitetään uudelleen sen sijaan, että se jäisi roikkumaan) ja UID-konventio <device-uid>-9-1-1:

<event version="2.0" uid="ANDROID-9c2f71a4-9-1-1" type="b-a-o-tbl" how="h-g-i-g-o"
       time="2026-10-07T08:01:57.000Z" start="2026-10-07T08:01:57.000Z"
       stale="2026-10-07T08:02:07.000Z">
  <point lat="50.448620" lon="30.531104" hae="160.0" ce="8.0" le="12.0"/>
  <detail>
    <link uid="ANDROID-9c2f71a4" type="a-f-G-U-C" relation="p-p"/>
    <contact callsign="GRIF-2-Alert"/>
    <emergency type="911 Alert">GRIF-2</emergency>
  </detail>
</event>

emergency/@type-merkkijonot ja niiden CoT-tyypit siten kuin ATAK ne määrittelee:

HälytysCoT-tyyppiLaukaisin ATAK:ssa
911 Alertb-a-o-tblHätäpainike, yleinen
Ring The Bellb-a-o-panTarkoituksellinen kiireellisen huomion pyyntö
In Contactb-a-o-opnJoukot kontaktissa
Geo-fence Breachedb-a-gJälki saapuu valvottuun geofenceen tai poistuu siitä
Customb-a-o-cLiitännäisen määrittelemä
Cancel Alertb-a-o-canOperaattori peruu aktiivisen majakan

Vastaanotettaessa asiakkaat etsivät karttatunnuksen link/@uid:llä, nostavat hälytyksen etäisyydellä ja suuntimalla uhrin sijaintiin ja pitävät majakan hengissä; TAK Server välittää sen säännöllisesti uudelleen. Peruutus käyttää samaa tapahtuman uid:ta ja kääntää detailin:

<event version="2.0" uid="ANDROID-9c2f71a4-9-1-1" type="b-a-o-can" how="h-g-i-g-o"
       time="2026-10-07T08:07:22.000Z" start="2026-10-07T08:07:22.000Z"
       stale="2026-10-07T08:07:32.000Z">
  <point lat="50.448620" lon="30.531104" hae="160.0" ce="8.0" le="12.0"/>
  <detail>
    <emergency cancel="true">GRIF-2</emergency>
  </detail>
</event>

9-line MEDEVAC/CASEVAC-pyyntö on b-r-f-h-c-tyyppinen karttatunnus, jonka detail kantaa <_medevac_>-elementin (huomaa alaviivat), joka sisältää yhdeksän riviä attribuutteina. Turvallinen, laajasti ymmärretty osajoukko:

<event version="2.0" uid="7b1e0c52-2f4d-4f18-9c6e-0d4a2b9f5c31"
       type="b-r-f-h-c" how="h-g-i-g-o"
       time="2026-10-07T08:10:40.000Z" start="2026-10-07T08:10:40.000Z"
       stale="2026-10-07T09:10:40.000Z">
  <point lat="50.448620" lon="30.531104" hae="160.0" ce="8.0" le="12.0"/>
  <detail>
    <contact callsign="GRIF-2"/>
    <_medevac_ casevac="false" title="GRIF-2 9LINE" freq="41.50"
              urgent="1" priority="0" routine="0"
              litter="1" ambulatory="0"
              security="2" hlz_marking="2"
              equipment_none="true">
      <zMistsMap>
        <zMist title="MIST 1" z="Z1" m="GSW"
               i="left thigh" s="HR 110, BP 100/60" t="tourniquet, TXA"/>
      </zMistsMap>
    </_medevac_>
    <remarks>Pickup at gravel yard, wind 310/8</remarks>
  </detail>
</event>

Dekoodaus: potilasmäärät tärkeysjärjestyksessä ovat urgent/priority/routine; rivi 5 litter/ambulatory; security on indeksi 0–3 (N ei vihollista, P mahdollinen, E vihollinen alueella, X saattaja tarvitaan); hlz_marking indeksoi A paneelit, B pyrotekniikan, C savun, D ei mitään, E muun; erikoiskalusto tulee boolean-lipuiksi (hoist, extraction_equipment, ventilator); kliininen MIST-raportti asettuu zMistsMap:n alle. ATAK renderöi tästä elementistä täyden 9-line-kortin ja laskeutumispaikan työkalut. Operatiivinen työnkulku sen ympärillä on artikkelissa CASEVAC-koordinaatio-ohjelmisto.

Anturin näkökenttä ja videolinkit

MITRE:n anturialiskeema kiinnittää ohjattavan näkökentän mihin tahansa karttatunnukseen. Lisää alustan oman sijaintitapahtuman sisään — tässä oma roottoridrooni, tyyppi a-f-A-M-H-Q — seuraavat:

<event version="2.0" uid="UAV-ZP-07" type="a-f-A-M-H-Q" how="m-g"
       time="2026-10-07T08:22:05.000Z" start="2026-10-07T08:22:05.000Z"
       stale="2026-10-07T08:22:15.000Z">
  <point lat="50.437120" lon="30.552870" hae="820.0" ce="12.0" le="15.0"/>
  <detail>
    <contact callsign="ZP-07" endpoint="*:-1:stcp"/>
    <sensor azimuth="127.0" fov="30.0" vfov="22.0" range="2200.0"
           elevation="-18.0" model="EO/IR turret"/>
    <__video url="rtsp://192.168.4.60:8554/live.sdp"/>
  </detail>
</event>

azimuth on astetta todellisesta pohjoisesta, elevation on kallistus (negatiivinen tarkoittaa alas), fov/vfov ovat vaaka- ja pystynäkökenttä asteina, range on kalteva etäisyys metreinä — yhdessä ne antavat ATAK:lle mahdollisuuden piirtää anturikartio kartalle. <__video>-alaelementti sitoo karttatunnuksen streamin URL:ään, joten karttatunnuksen avaus avaa syötteen. Erilliset kamerarekisteröinnit kulkevat omina b-i-v-tyyppisinä tapahtumina, jotka kantavat <ConnectionEntry>-elementin, jossa on address, port, protocol ja vastaavia virittimen attribuutteja, ja ne täyttävät videonhallinnan jokaisessa asiakkaassa. Laajemmasta putkesta — telemetriataajuuksista, KLV-metatiedoista, kohdistuksesta — kertoo artikkeli droonitelemetrian integraatio TAK:hin.

Juuri tähän useimmat integraatio-ohjelmat juuttuvat: tutka, droonin autopilotti, akustinen anturi ja vanha C2-syöte kuvaavat maailmaa kukin eri tavalla, ja jokainen on käännettävä kelvolliseksi CoT:ksi — oikeat tyypit, rehelliset ce/le, vakaat UID:t, järkevät stale-ajat — muuten COP täyttyy aavejäljistä. Rakennamme juuri tällaisia CoT-yhdyskäytäviä ja sovittimia sekä ATAK- ja WinTAK-liitännäisiä, jotka renderöivät lopputuloksen. Kerro, mitä syötettä tarvitset taktiseen kuvaan →

Karttatunnusten poisto ja elvytysping/pong

CoT:ssa ei ole sisäänrakennettua poistoa; TAK lisää sen päälle tehtävätapahtumana tyyppiä t-x-d-d, jonka <link> nimeää poistettavan kohteen:

<event version="2.0" uid="6650d1ee-4b17-4d02-8c95-13a1f2e9b0aa"
       type="t-x-d-d" how="h-g-i-g-o"
       time="2026-10-07T08:31:19.000Z" start="2026-10-07T08:31:19.000Z"
       stale="2026-10-07T08:31:29.000Z">
  <point lat="0.0" lon="0.0" hae="9999999.0" ce="9999999.0" le="9999999.0"/>
  <detail>
    <link uid="E-20261007-0413" relation="p-p" type="a-h-G-E-V-A-T"/>
    <__forcedelete/>
  </detail>
</event>

Ilman <__forcedelete/>-elementtiä ATAK vain merkitsee viitatun kohteen paikallisesti vanhentuneeksi ja poistaa sen käyttäjän vanhentuneiden kohteiden asetusten mukaisesti; sen kanssa kohde poistetaan suoraan jokaiselta asiakkaalta, joka saa tehtävän. Importoija vaatii, että link/@uid, @relation ja @type ovat läsnä eivätkä tyhjiä, joten pidä kaikki kolme. Elvytys on vielä pienempi — TAK-asiakkaat pingaavat palvelinta, joka on ollut hiljaa noin 15 sekuntia, toistaen muutaman sekunnin välein, ja käsittelevät t-x-c-t-r-tyyppisen pongin ohjausviestinä, joka ei koskaan päädy kartalle:

<event version="2.0" uid="ANDROID-9c2f71a4-ping" type="t-x-c-t" how="m-g"
       time="2026-10-07T08:33:50.000Z" start="2026-10-07T08:33:50.000Z"
       stale="2026-10-07T08:34:00.000Z">
  <point lat="0.0" lon="0.0" hae="0.0" ce="9999999.0" le="9999999.0"/>
</event>

Jos rakennat yhdyskäytävää, peilaa tämä käyttäytyminen: <uid>-ping-tapahtuma jokaisella välillä, jolla yhteyden halutaan tarkistettavan, ja pongien hiljainen hylkääminen.

Kelvollisen CoT:n tuottaminen: aikaleimat, stale, UID:t, escape

Toistuvat viat CoT-lähettimissä ovat ennustettavia, ja ne kaikki ovat halpoja estää:

  • UTC aina. Jokainen aikaleima päättyy Z:aan; paikalliset siirtymät tai puuttuva Z siirtävät karttatunnuksia tunteja menneisyyteen tai tulevaisuuteen. Sekunnin murrot ovat valinnaisia, ja mikä tahansa tarkkuus on sallittu.
  • Stale-kuri. Liikkuvat jäljet: kaksi–neljä raportointiväliä plus marginaali. Paikallaan pysyvät karttatunnukset: tunteja päiviin, <archive/>-elementillä, jos niiden pitää säilyä. Älä jätä stale:a oletuksena kaukaiseen tulevaisuuteen elävälle jäljelle — aavekarttatunnukset ovat yleisin kentältä tuleva valitus.
  • Vakaat UID:t. Johda uid entiteetistä (sarjanumero, jälkinumero, sisällön tiiviste), ei viestistä. Kaksi todellista jälkeä samalla uid:lla romahtavat yhdeksi vilkuvaksi karttatunnuksaksi.
  • Rehelliset virheet. Jos et tiedä korkeutta tai tarkkuutta, lähetä 9999999.0, älä 0. Fuusiomoottorit tulkitsevat 0:n väitteeksi.
  • Koordinaatit. Etumerkilliset desimaaliasteet, WGS-84; kuusi desimaalia riittää mainiosti. Neljään desimaaliin typistäminen (noin 10 m) on laillinen kaistanleveysvalinta, jonka jotkin kirjastot tekevät — mutta tee se johdonmukaisesti.
  • XML-escape. Escapeta &, <, > attribuuttiarvoissa ja tekstissä — kutsutunnukset ja huomiot sisältävät ennemmin tai myöhemmin et-merkin. Yksi harhaileva < remarks-kentässä tappaa koko dokumentin jo jäsentimessä.
  • Validoi kerran, luota sen jälkeen. Tarkista lähettimen tuloste julkaistua CoT-tapahtuman XSD:tä vastaan kehityksen aikana. XSD ei saa kiinni semanttisista virheistä (stale ennen startia, merkityksettömät type-päätteet), joten lisää nämä tarkistukset assertioina kooderissa.

CoT:n lähettäminen: mesh-multicast vs. TAK Server

Kaksi kuljetusta kattaa lähes jokaisen käyttöönoton. Palvelinoton mesh SA multicastaa jokaisen XML-dokumentin yhtenä UDP-datagrammina TAK-osoitteeseen 239.2.3.1:6969 (GeoChat käytti historiallisesti myös 224.10.10.1:17012:a); jokainen segmentin asiakas kuulee kaiken, eikä store-and-forwardia ole. Palvelinmallissa asiakkaat yhdistävät TAK Serveriin TCP:llä — portti 8087 salaamaton, 8089 TLS asiakassertifikaateilla — joka striimaa XML:ää molempiin suuntiin, jakaa tapahtumat ryhmä- ja tehtäväsuodatuksella ja voi uudelleenkoodata striimin yhteyden kautta neuvotelluksi kompaktiksi TAK-protobufiksi. Koodauksen ja neuvottelun yksityiskohdat, mukaan lukien milloin protobuf rikkoo työkalut, on käsitelty artikkelissa TAK-protokolla: CoT XML vs. protobuf; reititys palvelinrajojen yli artikkelissa TAK Federation Hub -arkkitehtuuri ja liittokuntakuva artikkelissa CoT:n ja NATO-standardien siltaaminen.

Nyrkkisääntö ratkaisee valinnan: jos vastaanottajat ovat samalla RF-segmentillä ja häviöt ovat siedettäviä, multicast on ilmainen; jos kuka tahansa on segmentin ulkopuolella, toisessa verkossa tai tarvitsee toiston yhteydettömänä, tarvitset palvelimen — samoin kaikki, mikä vaatii auditointijäljen.

Muuta sensori- tai C2-tietovirta kelvolliseksi CoT:ksi

Rakennamme CoT-yhdyskäytäviä ja sovittimia, jotka muuntavat tutka-, drone-, akustiset ja vanhat C2-virrat puhtaiksi Cursor on Target -virroiksi, sekä ATAK- ja WinTAK-liitännäisiä, jotka esittävät ne taktisessa kuvassa.

Integroi järjestelmäsi TAK:hin → TAKpilot CloudTAK:lle →

Laatinut Corvus Intelligence -insinööritiimi, joka rakentaa CoT-yhdyskäytäviä, TAK Server -integraatioita ja ATAK-/WinTAK-liitännäisiä; jokainen elementin nimi, tyyppikoodi ja käyttäytyminen on todennettu MITRE:n julkista CoT-skeemadokumentaatiota ja TAK-asiakkaiden mukana julkaistuja CoT-määritelmiä vasten. Tietoa Corvus Intelligencestä →