@tak-ps/node-cot
    Preparing search index...

    Class CoTParser

    Convert to and from an XML CoT message

    A string/buffer containing the XML representation or the xml-js object tree

    Index
    • Return an CoT Message given a GeoJSON Feature

      Parameters

      • feature: {
            geometry:
                | { coordinates: number[][][]; type: "Polygon" }
                | { coordinates: number[]; type: "Point" }
                | { coordinates: number[][]; type: "LineString" };
            id?: string;
            path?: string;
            properties: {
                ackrequest?: { ackrequested: boolean; tag: string; uid: string };
                archived?: boolean;
                attachments?: string[];
                bearing?: number;
                biosensordetail?: {
                    measurement?: {
                        bioClass?: string;
                        channel?: number;
                        concentration?: number;
                        confidence?: number;
                        confirmationLevel?: string;
                        dose: number;
                        doseTime?: number;
                        harmful?: boolean;
                        level?: { levelName: string; levelValue: string }[];
                        persistency?: string;
                        sampleId?: string;
                        time: string;
                        type?: string;
                    }[];
                    sensor_data: {
                        attachedUid?: string;
                        batterylevel?: number;
                        callsign?: string;
                        manufacturer: string;
                        model: string;
                        ordinal?: number;
                        revision?: number;
                        serialnumber: string;
                        simulated?: boolean;
                        status?: string;
                    };
                };
                callsign?: string;
                center?: number[];
                chat?: {
                    chatgrp: any;
                    chatroom: string;
                    groupOwner?: string;
                    id?: string;
                    messageId?: string;
                    parent?: string;
                    senderCallsign: string;
                };
                chemsensordetail?: {
                    detection?: {
                        agent: string;
                        alarm: number;
                        class?: string;
                        concentration?: number;
                        confidence?: number;
                        id?: number;
                        massfraction?: number;
                        percent?: number;
                        quantity: number;
                        quantityunits: string;
                        time: string;
                    }[];
                    sensor_data: {
                        attachedUid?: string;
                        batterylevel?: number;
                        callsign?: string;
                        manufacturer: string;
                        model: string;
                        ordinal?: number;
                        revision?: number;
                        serialnumber: string;
                        simulated?: boolean;
                        status?: string;
                    };
                };
                contact?: {
                    callsign?: string;
                    endpoint?: string;
                    name?: string;
                    phone?: string;
                };
                course?: number;
                creator?: { callsign?: string; time?: string; type: string; uid: string };
                dest?:
                    | {
                        after?: string;
                        callsign?: string;
                        group?: string;
                        mission?: string;
                        "mission-guid"?: string;
                        path?: string;
                        uid?: string;
                    }
                    | {
                        after?: string;
                        callsign?: string;
                        group?: string;
                        mission?: string;
                        "mission-guid"?: string;
                        path?: string;
                        uid?: string;
                    }[];
                droid?: string;
                fileshare?: {
                    filename: string;
                    name: string;
                    senderCallsign: string;
                    senderUid: string;
                    senderUrl: string;
                    sha256: string;
                    sizeInBytes: number;
                };
                fill?: string;
                "fill-opacity"?: number;
                flow?: { [key: string]: string };
                forcedelete?: boolean;
                geofence?: {
                    boundingSphere?: number;
                    elevationMonitored?: boolean;
                    maxElevation?: string;
                    minElevation?: string;
                    monitor?: string;
                    tracking?: boolean;
                    trigger?: string;
                };
                group?: { name: string; role: string };
                how?: string;
                icon?: string;
                labels?: boolean;
                links?: {
                    callsign?: string;
                    mime?: string;
                    mission?: string;
                    parent_callsign?: string;
                    point?: string;
                    production_time?: string;
                    relation?: string;
                    remarks?: string;
                    type?: string;
                    uid?: string;
                    url?: string;
                }[];
                "marker-color"?: string;
                "marker-opacity"?: number;
                marti_archive?: boolean;
                maxzoom?: number;
                metadata?: { [key: string]: unknown };
                milicon?: { id: string };
                milsym?: { id: string };
                minzoom?: number;
                mission?: {
                    authorUid?: string;
                    guid?: string;
                    missionChanges?: {
                        contentResource?: {
                            expiration: string;
                            filename?: string;
                            hash: string;
                            name: string;
                            size: number;
                            submissionTime: string;
                            submitter: string;
                            tool?: string;
                            uid: string;
                        };
                        contentUid?: string;
                        creatorUid: string;
                        details?: {
                            callsign: string;
                            color: string;
                            lat: string;
                            lon: string;
                            type: string;
                        };
                        isFederatedChange: boolean;
                        missionName: string;
                        timestamp: string;
                        type: string;
                    }[];
                    missionLayer?: {
                        name?: string;
                        parentUid?: string;
                        type?: string;
                        uid?: string;
                    };
                    name?: string;
                    tool?: string;
                    type?: string;
                };
                precisionlocation?: { altsrc?: string; geopointsrc?: string };
                radsensordetail?: {
                    command_permissions?: { all: boolean; contact_list: string };
                    data_permissions?: { all: boolean; contact_list: string };
                    isotope?: { confidence: number; name: string; type: string }[];
                    physical_module?: {
                        gamma_alarm: number;
                        gamma_cps: number;
                        gamma_dose_rate: number;
                        location:
                            | "FRONT_LEFT"
                            | "FRONT_RIGHT"
                            | "REAR_LEFT"
                            | "REAR_RIGHT"
                            | "CAB";
                    }[];
                    radmeasurement?: {
                        alarm: number;
                        measurement: number;
                        nalarmstddev: number;
                        name: "alpha"
                        | "beta"
                        | "gamma"
                        | "neutron"
                        | "doserate";
                    }[];
                    search_algorithm?: {
                        gamma_loc: number;
                        gamma_loc_alarm: number;
                        gamma_loc_alarm_value: number;
                        neutron_loc: number;
                        neutron_loc_alarm: number;
                        neutron_loc_alarm_value: number;
                    };
                    sensor_data: {
                        alarm_algorithm?: string;
                        attachedUid?: string;
                        batterylevel?: number;
                        callsign?: string;
                        detector_number?: number;
                        gammastatus: string;
                        heading?: number;
                        id_algorithm?: string;
                        manufacturer: string;
                        master_sensor_manufacturer?: string;
                        master_sensor_serial?: string;
                        measurement_ref?: number;
                        mission_acquired_uR?: number;
                        mission_stay_time_sec?: number;
                        mission_total_mR?: number;
                        model: string;
                        module_location?: string;
                        neutronstatus: string;
                        ordinal?: number;
                        relay_type?: string;
                        search_algorithm?: string;
                        sensor_temp_deg_c?: number;
                        serialnumber: string;
                        simulated?: boolean;
                        source_bearing?: number;
                        source_distance?: | "MOVE_MUCH_CLOSER"
                        | "MOVE_CLOSER"
                        | "OPTIMAL"
                        | "MOVE_AWAY"
                        | "MOVE_FAR_AWAY";
                        source_strength?: number;
                        subchannel?: string;
                        time: string;
                    };
                    spectrum?: {
                        channeldata: string;
                        crystal_id?: string;
                        livetime_ms: string;
                        realtime_ms: string;
                        type: string;
                        zerocompression: number;
                    }[];
                };
                range?: number;
                remarks?: string;
                rotate?: boolean;
                sensor?: {
                    azimuth?: number;
                    displayMagneticReference?: number;
                    elevation?: number;
                    fov?: number;
                    fovAlpha?: number;
                    fovBlue?: number;
                    fovGreen?: number;
                    fovRed?: number;
                    hideFov?: boolean;
                    model?: string;
                    north?: number;
                    range?: number;
                    rangeLines?: number;
                    rangeLineStrokeColor?: number;
                    rangeLineStrokeWeight?: number;
                    roll?: number;
                    strokeColor?: number;
                    strokeWeight?: number;
                    type?: string;
                    version?: string;
                    vfov?: number;
                };
                shape?: {
                    ellipse?: {
                        angle: number;
                        major: number;
                        minor: number;
                        swapAxis?: boolean;
                    };
                };
                slope?: number;
                spatial?: {
                    attitude: {
                        ePitch?: number;
                        eRoll?: number;
                        eYaw?: number;
                        pitch: number;
                        roll: number;
                        yaw?: number;
                    };
                    spin: {
                        ePitch?: number;
                        eRoll?: number;
                        eYaw?: number;
                        pitch: number;
                        roll: number;
                        yaw?: number;
                    };
                    version?: number;
                };
                speed?: number;
                stale?: string
                | number;
                start?: string;
                status?: { battery?: string; readiness?: string };
                stroke?: string;
                "stroke-opacity"?: number;
                "stroke-style"?: string;
                "stroke-width"?: number;
                takv?: {
                    device?: string;
                    os?: string;
                    platform?: string;
                    version?: string;
                };
                time?: string;
                track?: {
                    course?: string;
                    eCourse?: string;
                    eSlope?: string;
                    eSpeed?: string;
                    slope?: string;
                    speed?: string;
                };
                type?: string;
                video?: {
                    connection?: {
                        address: string;
                        alias?: string;
                        bufferTime?: number;
                        ignoreEmbeddedKLV?: boolean;
                        networkTimeout?: number;
                        path?: string;
                        port?: number;
                        protocol?: string;
                        roverPort?: number;
                        rtspReliable?: number;
                        uid: string;
                    };
                    sensor?: string;
                    spi?: string;
                    uid?: string;
                    url?: string;
                };
            };
            type: "Feature";
        }

        GeoJSON Point Feature

      • opts: CoTOptions = {}

      Returns Promise<default>

    • Parse an ATAK compliant Protobuf to a JS Object

      Parameters

      • raw: Uint8Array
      • version: number = 1
      • opts: CoTOptions = {}

      Returns Promise<default>

    • Detect difference between CoT messages Note: This diffs based on GeoJSON Representation of message So if unknown properties are present they will be excluded from the diff

      Parameters

      • aCoT: default
      • bCoT: default
      • opts: {
            diffDest: boolean;
            diffFlow: boolean;
            diffMetadata: boolean;
            diffStaleStartTime: boolean;
        } = ...

      Returns Promise<boolean>

    • Parameters

      • feature: {
            geometry:
                | { coordinates: number[]; type: "Point" }
                | { coordinates: number[][]; type: "LineString" }
                | { coordinates: number[][][]; type: "Polygon" };
            id?: string;
            properties: { [key: string]: unknown };
            type: "Feature";
        }

      Returns Promise<
          {
              geometry: | { coordinates: number[][][]; type: "Polygon" }
              | { coordinates: number[]; type: "Point" }
              | { coordinates: number[][]; type: "LineString" };
              id: string;
              path?: string;
              properties: {
                  ackrequest?: { ackrequested: boolean; tag: string; uid: string };
                  archived?: boolean;
                  attachments?: string[];
                  bearing?: number;
                  biosensordetail?: {
                      measurement?: {
                          bioClass?: string;
                          channel?: number;
                          concentration?: number;
                          confidence?: number;
                          confirmationLevel?: string;
                          dose: number;
                          doseTime?: number;
                          harmful?: boolean;
                          level?: { levelName: ...; levelValue: ... }[];
                          persistency?: string;
                          sampleId?: string;
                          time: string;
                          type?: string;
                      }[];
                      sensor_data: {
                          attachedUid?: string;
                          batterylevel?: number;
                          callsign?: string;
                          manufacturer: string;
                          model: string;
                          ordinal?: number;
                          revision?: number;
                          serialnumber: string;
                          simulated?: boolean;
                          status?: string;
                      };
                  };
                  callsign: string;
                  center: number[];
                  chat?: {
                      chatgrp: any;
                      chatroom: string;
                      groupOwner?: string;
                      id?: string;
                      messageId?: string;
                      parent?: string;
                      senderCallsign: string;
                  };
                  chemsensordetail?: {
                      detection?: {
                          agent: string;
                          alarm: number;
                          class?: string;
                          concentration?: number;
                          confidence?: number;
                          id?: number;
                          massfraction?: number;
                          percent?: number;
                          quantity: number;
                          quantityunits: string;
                          time: string;
                      }[];
                      sensor_data: {
                          attachedUid?: string;
                          batterylevel?: number;
                          callsign?: string;
                          manufacturer: string;
                          model: string;
                          ordinal?: number;
                          revision?: number;
                          serialnumber: string;
                          simulated?: boolean;
                          status?: string;
                      };
                  };
                  contact?: {
                      callsign?: string;
                      endpoint?: string;
                      name?: string;
                      phone?: string;
                  };
                  course?: number;
                  creator?: { callsign?: string; time?: string; type: string; uid: string };
                  dest?:
                      | {
                          after?: string;
                          callsign?: string;
                          group?: string;
                          mission?: string;
                          "mission-guid"?: string;
                          path?: string;
                          uid?: string;
                      }
                      | {
                          after?: string;
                          callsign?: string;
                          group?: string;
                          mission?: string;
                          "mission-guid"?: string;
                          path?: string;
                          uid?: string;
                      }[];
                  droid?: string;
                  fileshare?: {
                      filename: string;
                      name: string;
                      senderCallsign: string;
                      senderUid: string;
                      senderUrl: string;
                      sha256: string;
                      sizeInBytes: number;
                  };
                  fill?: string;
                  "fill-opacity"?: number;
                  flow?: { [key: string]: string };
                  forcedelete?: boolean;
                  geofence?: {
                      boundingSphere?: number;
                      elevationMonitored?: boolean;
                      maxElevation?: string;
                      minElevation?: string;
                      monitor?: string;
                      tracking?: boolean;
                      trigger?: string;
                  };
                  group?: { name: string; role: string };
                  how: string;
                  icon?: string;
                  labels?: boolean;
                  links?: {
                      callsign?: string;
                      mime?: string;
                      mission?: string;
                      parent_callsign?: string;
                      point?: string;
                      production_time?: string;
                      relation?: string;
                      remarks?: string;
                      type?: string;
                      uid?: string;
                      url?: string;
                  }[];
                  "marker-color"?: string;
                  "marker-opacity"?: number;
                  marti_archive?: boolean;
                  maxzoom?: number;
                  metadata?: { [key: string]: unknown };
                  milicon?: { id: string };
                  milsym?: { id: string };
                  minzoom?: number;
                  mission?: {
                      authorUid?: string;
                      guid?: string;
                      missionChanges?: {
                          contentResource?: {
                              expiration: string;
                              filename?: (...) | (...);
                              hash: string;
                              name: string;
                              size: number;
                              submissionTime: string;
                              submitter: string;
                              tool?: (...) | (...);
                              uid: string;
                          };
                          contentUid?: string;
                          creatorUid: string;
                          details?: {
                              callsign: string;
                              color: string;
                              lat: string;
                              lon: string;
                              type: string;
                          };
                          isFederatedChange: boolean;
                          missionName: string;
                          timestamp: string;
                          type: string;
                      }[];
                      missionLayer?: {
                          name?: string;
                          parentUid?: string;
                          type?: string;
                          uid?: string;
                      };
                      name?: string;
                      tool?: string;
                      type?: string;
                  };
                  precisionlocation?: { altsrc?: string; geopointsrc?: string };
                  radsensordetail?: {
                      command_permissions?: { all: boolean; contact_list: string };
                      data_permissions?: { all: boolean; contact_list: string };
                      isotope?: { confidence: number; name: string; type: string }[];
                      physical_module?: {
                          gamma_alarm: number;
                          gamma_cps: number;
                          gamma_dose_rate: number;
                          location:
                              | "FRONT_LEFT"
                              | "FRONT_RIGHT"
                              | "REAR_LEFT"
                              | "REAR_RIGHT"
                              | "CAB";
                      }[];
                      radmeasurement?: {
                          alarm: number;
                          measurement: number;
                          nalarmstddev: number;
                          name: "alpha"
                          | "beta"
                          | "gamma"
                          | "neutron"
                          | "doserate";
                      }[];
                      search_algorithm?: {
                          gamma_loc: number;
                          gamma_loc_alarm: number;
                          gamma_loc_alarm_value: number;
                          neutron_loc: number;
                          neutron_loc_alarm: number;
                          neutron_loc_alarm_value: number;
                      };
                      sensor_data: {
                          alarm_algorithm?: string;
                          attachedUid?: string;
                          batterylevel?: number;
                          callsign?: string;
                          detector_number?: number;
                          gammastatus: string;
                          heading?: number;
                          id_algorithm?: string;
                          manufacturer: string;
                          master_sensor_manufacturer?: string;
                          master_sensor_serial?: string;
                          measurement_ref?: number;
                          mission_acquired_uR?: number;
                          mission_stay_time_sec?: number;
                          mission_total_mR?: number;
                          model: string;
                          module_location?: string;
                          neutronstatus: string;
                          ordinal?: number;
                          relay_type?: string;
                          search_algorithm?: string;
                          sensor_temp_deg_c?: number;
                          serialnumber: string;
                          simulated?: boolean;
                          source_bearing?: number;
                          source_distance?: | "MOVE_MUCH_CLOSER"
                          | "MOVE_CLOSER"
                          | "OPTIMAL"
                          | "MOVE_AWAY"
                          | "MOVE_FAR_AWAY";
                          source_strength?: number;
                          subchannel?: string;
                          time: string;
                      };
                      spectrum?: {
                          channeldata: string;
                          crystal_id?: string;
                          livetime_ms: string;
                          realtime_ms: string;
                          type: string;
                          zerocompression: number;
                      }[];
                  };
                  range?: number;
                  remarks?: string;
                  rotate?: boolean;
                  sensor?: {
                      azimuth?: number;
                      displayMagneticReference?: number;
                      elevation?: number;
                      fov?: number;
                      fovAlpha?: number;
                      fovBlue?: number;
                      fovGreen?: number;
                      fovRed?: number;
                      hideFov?: boolean;
                      model?: string;
                      north?: number;
                      range?: number;
                      rangeLines?: number;
                      rangeLineStrokeColor?: number;
                      rangeLineStrokeWeight?: number;
                      roll?: number;
                      strokeColor?: number;
                      strokeWeight?: number;
                      type?: string;
                      version?: string;
                      vfov?: number;
                  };
                  shape?: {
                      ellipse?: {
                          angle: number;
                          major: number;
                          minor: number;
                          swapAxis?: boolean;
                      };
                  };
                  slope?: number;
                  spatial?: {
                      attitude: {
                          ePitch?: number;
                          eRoll?: number;
                          eYaw?: number;
                          pitch: number;
                          roll: number;
                          yaw?: number;
                      };
                      spin: {
                          ePitch?: number;
                          eRoll?: number;
                          eYaw?: number;
                          pitch: number;
                          roll: number;
                          yaw?: number;
                      };
                      version?: number;
                  };
                  speed?: number;
                  stale: string;
                  start: string;
                  status?: { battery?: string; readiness?: string };
                  stroke?: string;
                  "stroke-opacity"?: number;
                  "stroke-style"?: string;
                  "stroke-width"?: number;
                  takv?: {
                      device?: string;
                      os?: string;
                      platform?: string;
                      version?: string;
                  };
                  time: string;
                  track?: {
                      course?: string;
                      eCourse?: string;
                      eSlope?: string;
                      eSpeed?: string;
                      slope?: string;
                      speed?: string;
                  };
                  type: string;
                  video?: {
                      connection?: {
                          address: string;
                          alias?: string;
                          bufferTime?: number;
                          ignoreEmbeddedKLV?: boolean;
                          networkTimeout?: number;
                          path?: string;
                          port?: number;
                          protocol?: string;
                          roverPort?: number;
                          rtspReliable?: number;
                          uid: string;
                      };
                      sensor?: string;
                      spi?: string;
                      uid?: string;
                      url?: string;
                  };
              };
              type: "Feature";
          },
      >

    • Return a GeoJSON Feature from an XML CoT message

      Parameters

      Returns Promise<
          {
              geometry: | { coordinates: number[][][]; type: "Polygon" }
              | { coordinates: number[]; type: "Point" }
              | { coordinates: number[][]; type: "LineString" };
              id: string;
              path?: string;
              properties: {
                  ackrequest?: { ackrequested: boolean; tag: string; uid: string };
                  archived?: boolean;
                  attachments?: string[];
                  bearing?: number;
                  biosensordetail?: {
                      measurement?: {
                          bioClass?: string;
                          channel?: number;
                          concentration?: number;
                          confidence?: number;
                          confirmationLevel?: string;
                          dose: number;
                          doseTime?: number;
                          harmful?: boolean;
                          level?: { levelName: ...; levelValue: ... }[];
                          persistency?: string;
                          sampleId?: string;
                          time: string;
                          type?: string;
                      }[];
                      sensor_data: {
                          attachedUid?: string;
                          batterylevel?: number;
                          callsign?: string;
                          manufacturer: string;
                          model: string;
                          ordinal?: number;
                          revision?: number;
                          serialnumber: string;
                          simulated?: boolean;
                          status?: string;
                      };
                  };
                  callsign: string;
                  center: number[];
                  chat?: {
                      chatgrp: any;
                      chatroom: string;
                      groupOwner?: string;
                      id?: string;
                      messageId?: string;
                      parent?: string;
                      senderCallsign: string;
                  };
                  chemsensordetail?: {
                      detection?: {
                          agent: string;
                          alarm: number;
                          class?: string;
                          concentration?: number;
                          confidence?: number;
                          id?: number;
                          massfraction?: number;
                          percent?: number;
                          quantity: number;
                          quantityunits: string;
                          time: string;
                      }[];
                      sensor_data: {
                          attachedUid?: string;
                          batterylevel?: number;
                          callsign?: string;
                          manufacturer: string;
                          model: string;
                          ordinal?: number;
                          revision?: number;
                          serialnumber: string;
                          simulated?: boolean;
                          status?: string;
                      };
                  };
                  contact?: {
                      callsign?: string;
                      endpoint?: string;
                      name?: string;
                      phone?: string;
                  };
                  course?: number;
                  creator?: { callsign?: string; time?: string; type: string; uid: string };
                  dest?:
                      | {
                          after?: string;
                          callsign?: string;
                          group?: string;
                          mission?: string;
                          "mission-guid"?: string;
                          path?: string;
                          uid?: string;
                      }
                      | {
                          after?: string;
                          callsign?: string;
                          group?: string;
                          mission?: string;
                          "mission-guid"?: string;
                          path?: string;
                          uid?: string;
                      }[];
                  droid?: string;
                  fileshare?: {
                      filename: string;
                      name: string;
                      senderCallsign: string;
                      senderUid: string;
                      senderUrl: string;
                      sha256: string;
                      sizeInBytes: number;
                  };
                  fill?: string;
                  "fill-opacity"?: number;
                  flow?: { [key: string]: string };
                  forcedelete?: boolean;
                  geofence?: {
                      boundingSphere?: number;
                      elevationMonitored?: boolean;
                      maxElevation?: string;
                      minElevation?: string;
                      monitor?: string;
                      tracking?: boolean;
                      trigger?: string;
                  };
                  group?: { name: string; role: string };
                  how: string;
                  icon?: string;
                  labels?: boolean;
                  links?: {
                      callsign?: string;
                      mime?: string;
                      mission?: string;
                      parent_callsign?: string;
                      point?: string;
                      production_time?: string;
                      relation?: string;
                      remarks?: string;
                      type?: string;
                      uid?: string;
                      url?: string;
                  }[];
                  "marker-color"?: string;
                  "marker-opacity"?: number;
                  marti_archive?: boolean;
                  maxzoom?: number;
                  metadata?: { [key: string]: unknown };
                  milicon?: { id: string };
                  milsym?: { id: string };
                  minzoom?: number;
                  mission?: {
                      authorUid?: string;
                      guid?: string;
                      missionChanges?: {
                          contentResource?: {
                              expiration: string;
                              filename?: (...) | (...);
                              hash: string;
                              name: string;
                              size: number;
                              submissionTime: string;
                              submitter: string;
                              tool?: (...) | (...);
                              uid: string;
                          };
                          contentUid?: string;
                          creatorUid: string;
                          details?: {
                              callsign: string;
                              color: string;
                              lat: string;
                              lon: string;
                              type: string;
                          };
                          isFederatedChange: boolean;
                          missionName: string;
                          timestamp: string;
                          type: string;
                      }[];
                      missionLayer?: {
                          name?: string;
                          parentUid?: string;
                          type?: string;
                          uid?: string;
                      };
                      name?: string;
                      tool?: string;
                      type?: string;
                  };
                  precisionlocation?: { altsrc?: string; geopointsrc?: string };
                  radsensordetail?: {
                      command_permissions?: { all: boolean; contact_list: string };
                      data_permissions?: { all: boolean; contact_list: string };
                      isotope?: { confidence: number; name: string; type: string }[];
                      physical_module?: {
                          gamma_alarm: number;
                          gamma_cps: number;
                          gamma_dose_rate: number;
                          location:
                              | "FRONT_LEFT"
                              | "FRONT_RIGHT"
                              | "REAR_LEFT"
                              | "REAR_RIGHT"
                              | "CAB";
                      }[];
                      radmeasurement?: {
                          alarm: number;
                          measurement: number;
                          nalarmstddev: number;
                          name: "alpha"
                          | "beta"
                          | "gamma"
                          | "neutron"
                          | "doserate";
                      }[];
                      search_algorithm?: {
                          gamma_loc: number;
                          gamma_loc_alarm: number;
                          gamma_loc_alarm_value: number;
                          neutron_loc: number;
                          neutron_loc_alarm: number;
                          neutron_loc_alarm_value: number;
                      };
                      sensor_data: {
                          alarm_algorithm?: string;
                          attachedUid?: string;
                          batterylevel?: number;
                          callsign?: string;
                          detector_number?: number;
                          gammastatus: string;
                          heading?: number;
                          id_algorithm?: string;
                          manufacturer: string;
                          master_sensor_manufacturer?: string;
                          master_sensor_serial?: string;
                          measurement_ref?: number;
                          mission_acquired_uR?: number;
                          mission_stay_time_sec?: number;
                          mission_total_mR?: number;
                          model: string;
                          module_location?: string;
                          neutronstatus: string;
                          ordinal?: number;
                          relay_type?: string;
                          search_algorithm?: string;
                          sensor_temp_deg_c?: number;
                          serialnumber: string;
                          simulated?: boolean;
                          source_bearing?: number;
                          source_distance?: | "MOVE_MUCH_CLOSER"
                          | "MOVE_CLOSER"
                          | "OPTIMAL"
                          | "MOVE_AWAY"
                          | "MOVE_FAR_AWAY";
                          source_strength?: number;
                          subchannel?: string;
                          time: string;
                      };
                      spectrum?: {
                          channeldata: string;
                          crystal_id?: string;
                          livetime_ms: string;
                          realtime_ms: string;
                          type: string;
                          zerocompression: number;
                      }[];
                  };
                  range?: number;
                  remarks?: string;
                  rotate?: boolean;
                  sensor?: {
                      azimuth?: number;
                      displayMagneticReference?: number;
                      elevation?: number;
                      fov?: number;
                      fovAlpha?: number;
                      fovBlue?: number;
                      fovGreen?: number;
                      fovRed?: number;
                      hideFov?: boolean;
                      model?: string;
                      north?: number;
                      range?: number;
                      rangeLines?: number;
                      rangeLineStrokeColor?: number;
                      rangeLineStrokeWeight?: number;
                      roll?: number;
                      strokeColor?: number;
                      strokeWeight?: number;
                      type?: string;
                      version?: string;
                      vfov?: number;
                  };
                  shape?: {
                      ellipse?: {
                          angle: number;
                          major: number;
                          minor: number;
                          swapAxis?: boolean;
                      };
                  };
                  slope?: number;
                  spatial?: {
                      attitude: {
                          ePitch?: number;
                          eRoll?: number;
                          eYaw?: number;
                          pitch: number;
                          roll: number;
                          yaw?: number;
                      };
                      spin: {
                          ePitch?: number;
                          eRoll?: number;
                          eYaw?: number;
                          pitch: number;
                          roll: number;
                          yaw?: number;
                      };
                      version?: number;
                  };
                  speed?: number;
                  stale: string;
                  start: string;
                  status?: { battery?: string; readiness?: string };
                  stroke?: string;
                  "stroke-opacity"?: number;
                  "stroke-style"?: string;
                  "stroke-width"?: number;
                  takv?: {
                      device?: string;
                      os?: string;
                      platform?: string;
                      version?: string;
                  };
                  time: string;
                  track?: {
                      course?: string;
                      eCourse?: string;
                      eSlope?: string;
                      eSpeed?: string;
                      slope?: string;
                      speed?: string;
                  };
                  type: string;
                  video?: {
                      connection?: {
                          address: string;
                          alias?: string;
                          bufferTime?: number;
                          ignoreEmbeddedKLV?: boolean;
                          networkTimeout?: number;
                          path?: string;
                          port?: number;
                          protocol?: string;
                          roverPort?: number;
                          rtspReliable?: number;
                          uid: string;
                      };
                      sensor?: string;
                      spi?: string;
                      uid?: string;
                      url?: string;
                  };
              };
              type: "Feature";
          },
      >

    • Return an ATAK Compliant Protobuf

      Parameters

      Returns Promise<Uint8Array<ArrayBufferLike>>