Target Gateway

Real time radar targets stream parser

Target Gateway provides live udp stream reception, parsing and DB injection.

Main features:

Extracted information:

MongoDB ingest

TargetGateway ingests detected targets as GeoJson compatible documents.

TargetSchema

const radarTargetSchema = new mongoose.Schema({ missionId: { type: mongoose.Schema.Types.ObjectId }, sensorId: Number, timestamp: { type: Date, index: true }, geometry: { type: {String, enum: ['Point'], required: true }, coordinates: { type: [Number], required: true, index: '2dsphere'} }, properties: { TGT_ID: Number, TARGET_HOSTILITY: { type: String, enum: ['FRIEND', 'UNKNOWN', 'HOSTILE', 'NEUTRAL']}, TGT_QUALITY: Number, TGT_ST_PRIM: { type: String, enum: ['Initial', 'Memory', 'Active', 'Lost']}, TGT_ST_SECOND: { type: String, enum: ['None', 'Imaged', 'Hook']}, TGT_UNIQ_ID: Number, TargetTacticalName: String, TGT_AZ: Number, TGT_RNG: Number, TGT_COURSE: Number, TGT_VEL: Number, TargetISRRadius: Number, AVN_TIME_HOUR: Number, AVN_TIME_MINUTE: Number, AVN_TIME_SECOND: Number } }, { usePushEach: true });

Here is an example of the document.

{ "_id" : ObjectId("5bbdcfff51a371500800ce8c"), "missionId" : ObjectId("5bb6200553bf5250a8a56e15"), "timestamp" : ISODate("2018-10-10T10:10:07.302Z"), "geometry" : { "type" : "Point", "coordinates" : [ 34.7844444444444, 32.4633333333333 ] }, "properties" : { "TGT_ID" : 1280, "TARGET_HOSTILITY" : "FRIEND", "TGT_QUALITY" : 0, "TGT_ST_PRIM" : "Lost", "TGT_ST_SECOND" : "None", "TGT_UNIQ_ID" : 36, "TargetTacticalName" : "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", "TGT_AZ" : 164.498289144, "TGT_RNG" : 80056, "TGT_COURSE" : -89.999998976, "TGT_VEL" : 0.25, "TargetISRRadius" : 0, "AVN_TIME_HOUR" : 5, "AVN_TIME_MINUTE" : 36, "AVN_TIME_SECOND" : 5 }, "__v" : 0 }

GeoJSON

In addition to the MongoDB ingest, TargetGateway can optionally create standard GeoJSON files that can be used in any GIS application. Received packets are saved to files (last target packet or/and packet history).

Prerequisites

Nodejs

Installation

  1. Make sure Nodejs is installed.
  2. Copy TargetGateway directory
  3. Open CMD, change directory to the location of the TargetGateway and type:
npm install

Usage

Listen to the stream and save GeoJSON collections as files at c:\tmp\targets

node index.js -a 234.5.6.7 -p 6040 --historyFolder c:/tmp/targets --lastTargetsFile c:/tmp/targets/latestTarget.geojson

Listen to the stream and ingest into DB for mission 5bb6200553bf5250a8a56e15. Use 192.168.1.31 network interface

node index.js -a 234.5.6.7 -p 6040 -n 192.168.1.31 -m 5bb6200553bf5250a8a56e15 -d mongodb://localhost:27017/db

Options

Short Command Command Description
-a --address Input address
-p --port Input port
-n --nic Input network interface. DefaultValue: '0.0.0.0'
-d --db Optional. DB connection string. If not provided, no DB ingest is performed
--historyFolder Optional. The target folder for GeoJSON feature collection files.
--lastTargetsFile Optional. The path where last packet should be saved (as GeoJSON feature collection).
-m --missionId Mission ID
--sensorId Sensor ID
-s --silent Silent mode. Do not print status message.
-v --version Version
-h --help Display usage