-
Notifications
You must be signed in to change notification settings - Fork 7
Configure Military Services
The AirC2-MilitaryTracks service performs similar operations as the AirC2-CivilianTracks service but takes as its input simulated military aircraft data. The major difference is that the input connector recognizes simulations using a schema (GeoEvent definition) supporting military aircraft. Additionally, the connector listens to a different TCP port over which the simulated data is transmitted.
- Create a new GeoEvent service called AirC2-MilitaryTracks.
- Add the AirC2-tcp-text-in-military-air-tracks input.
- Drag the AirC2-StreamServiceOut-MilitaryAirTracks output service into the GeoEvent Service Designer. Connect the output to the AirC2-tcp-text-in-military-air-tracks input connector. This will write the simulated data to a stream service.
- Create a new Field Mapper Processor. Use the following tables to configure the FieldMapper
- Drag the AirC2-UpdateFeatures-MilitaryAirTracks output service into the GeoEvent Service Designer. Connect the output to the Field Mapper processor created in the last step. This will write the simulated data to the feature service.
- Create a new filter called 'Remove Targets Altitude Below 1'. This filter will allow only features that have an altitude greater than 1. This eliminates features identified as targets (targets are all set with an altitude of 0) from the simulation as targets will always be inside their own threat area so we dont want them creating continuous alerts. Use the following query to configure the filter.
- alt > 1
- Create a new GeoTag Processor. Use the table below to configure the processor. Once configured connect the processor to the Remove Targets Altitude Below 1 filter.
- Create a new filter called 'Filter Out Non ACM Tagged Records (Entry)'. Set the query to:
- NOT ACMNameInside = ""
- Create a Field Enricher processor. This processor will enrich the incoming event with fields from any ACO in which it is inside. The fields added to the incoming event are, min_height, max_height, status, and acm. Use the following table to check Field Enricher Processor:
- Create a new Filter called 'Filter Based on Altitude'. This filter tests whether an aircraft is within an ACO in the vertical coordinate system by comparing the current altitude of the aircraft to the minimum and maximum heights of an aco (enriched in the previous step) in which the aircraft has crossed in horizontal (latitude, longitude) coordinates. Set the filter query to:
- alt >= ${min_height} AND alt <= ${max_height}
- Create a Field Calculator processor to modify the Status of the ACO. Use the following table to configure the processor.
- Create a Field Mapper processor. This mapping will map the status and name of the ACO to the appropriate fields. Use the following tables to configure the processor:
- Drag the AirC2-UpdateFeatures-ACOStatus output onto the GeoEvent Service Designer and connect the Map Status and Name Field Mapper processor to it.
- Create a new GeoTag Processor. Use the table below to configure the processor. Once configured connect the processor to the Remove Targets Altitude Below 1 filter.
- Create a new filter called 'Filter Out Non ACM Tagged Records (Exit)'. Set the filter's query to the following:
- NOT GeoTags = ""
- Create a Field Enricher processor. This processor will enrich the incoming event with fields from any ACO in which it has exited (see GeoTagger in step 14). The field added to the incoming event is status. Use the following table to check Field Enricher Processor
- Create a Field Calculator processor to modify the Status of the ACO. Use the following table to configure the processor:
- Create a Field Mapper processor. This mapping will map the status and name of the ACO to the appropriate fields. Use the following tables to configure the processor.
- Connect the Field mapper created in the previous step to the AirC2-UpdateFeatures-ACOStatus output connector.
- Create GeoTagger Processor. This processor will test whether an event is inside a threat area. Use the following table to configure the GeoTagger:
- Create a new Filter called 'Filter Out Non Range Tagged Records'. This filter will filter out any events that have not entered a Range Dome geoFence. Use the following query to configure the filter:
- NOT RangeDomeName = ""
- Create a new Field Enricher processor. This processor will add the callsign and distance fields from a range dome to the event. use the table below to configure the Field Enricher:
- Create a new Filter called 'Within Threat Range'. This filter will determine whether an event is within the vertical extent of the rangedome. Use the following query to configure the filter:
- alt <= ${distance}
- Create a new Field Mapper Processor. Use the following tables to configure the Field Mapper:
- Drag the AirC2-UpdateFeatureService-TargetThreatAlerts output into the GeoEvent service designer. Connect the Field mapper created in step 24 to the output
- Create a new Filter called 'Filter based on ACM Type'. This filter will determine whether a military aircraft is flying within a Air Corridor or Route and filter these out as this is correct behaviour. Use the following query to configure the filter:
- NOT acm = CORRTE
- Create a new Field Mapper Processor. Use the following tables to configure the FieldMapper
- Drag the AirC2-UpdateFeatureService-ACOAlert output service into the GeoEvent Service Designer. Connect the output to the Field mapper created in step 27.
Field | Value |
Name | Map Fields to Feature Output |
Processor | Field Mapper |
Source GeoEvent Definition | AirC2-MilitaryAirTracksIn |
Target GeoEvent Definition | Airc2-UpdateFeature-MilitaryAirTracks-FieldMapper |
Source Field | Target Field |
id | uniquedesignation |
lat | x |
lon | y |
alt | z |
time | datetimevalid |
SIDC_2525D | symbolid_2525d |
geometry | geometry |
Connect the filter to the AirC2-tcp-text-in military-airtracks input connector.
Field | Value |
Name | GeoTag ACM on Entry |
Processor | GeoTagger |
GeoFence | AirspaceControlMeasures/* |
Spatial Operator | Inside Any |
Geometry Field Name | GEOMETRY |
Geotag Field Name | ACMNameInside |
GeoTag Format | Delimited Value |
Include GeoFence Category in GeoTag | No |
New GeoEvent Definition Name | AirC2-MilitaryAirTrack_InsideACM |
Field | Value |
Name | Add Min and Max Heights |
Processor | Field Enricher (Feature Service) |
Server Connection | AirC2 AGS Server |
Folder | AirC2 |
Service | AirC2_ACO_Use (FeatureServer) |
Layer | Airspace Control Means - Use (1) |
Feature Layer Join Field | name |
Target Fields | New Fields |
Enrichment Fields | min_height, max_height, status, acm |
Field Tags | |
New GeoEvent Definition Name | AirC2-MilitaryAirTrack_InsideACM_Enriched |
GeoEvent Join Field | ACMNameInside |
Cache Refresh Time Interval | 1 |
Maximum Cache Size | 1000 |
Connect the filter to the Add Min Max Heights Field Enricher processor.
Field | Value |
Name | Calculate Status (Entry) |
Processor | Field Calculator |
Expression | 'ACTIVE' |
Target Field | Existing Field |
Existing Field Name | status |
Field | Value |
Name | Map Status and Name |
Processor | Field Mapper |
Source GeoEvent Definition | AirC2-MilitaryAirTrack_InsideACM_Enriched |
Target GeoEvent Definition | AirC2-Update_ACO_Status |
Source Field | Target Field |
ACMNameInside | name |
status | status |
Note
The first time setting up the service the input definition created when the event passes through the Add Min and Max Heights Field Enricher will not be present. Run the simulation until an event passes through the field enricher at which point the geoevent definition will be created.
Field | Value |
Name | GeoTag Air Control Means on Exit |
Processor | GeoTagger |
GeoFence | AirspaceControlMeasures/* |
Spatial Operator | Exit Any |
Geometry Field Name | GEOMETRY |
Geotag Field Name | GeoTags |
GeoTag Format | Delimited Value |
Include GeoFence Category in GeoTag | No |
New GeoEvent Definition Name | AirC2-MilitaryAirTrack_OutsideACM |
This will filter out events that do not honor the GeoTagger's query created in step 14. Connect the filter to the GeoTagger created in the last step.
Field | Value |
Name | Add Status Field |
Processor | Field Enricher (Feature Service) |
Server Connection | AirC2 AGS Server |
Folder | AirC2 |
Service | AirC2-ACO-Use |
Layer | Airspace Control Means - Use (1) |
Feature Layer Join Field | name |
Target Fields | New Fields |
Enrichment Fields | status |
Field Tags | |
New GeoEvent Definition Name | AirC2-MilitaryAirTrack_OutsideACM_Enriched |
GeoEvent Join Field | GeoTags |
Cache Refresh Time Interval | 1 |
Maximum Cache Size | 1000 |
Field | Value |
Name | Calculate Status (Exit) |
Processor | Field Calculator |
Expression | 'INACTIVE' |
Target Field | Existing Field |
Existing Field Name | status |
Field | Value |
Name | Map Name and Status |
Processor | Field Mapper |
Source GeoEvent Definition | AirC2-MilitaryAirTrack_OutsideACM_Enriched |
Target GeoEvent Definition | AirC2-Update_ACO_Status |
Source Field | Target Field |
GeoTags | name |
status | status |
Note
The first time setting up the service the input definition created when the event passes through the Add Status Field Enricher will not be present. Run the simulation until an event passes through the field enricher at which point the geoevent definition will be created.
Field | Value |
Name | GeoTag Range Dome Name |
Processor | GeoTagger |
GeoFence | RangeDomes/* |
Spatial Operator | Inside Any |
Geometry Field Name | GEOMETRY |
Geotag Field Name | RangeDomeName |
GeoTag Format | Delimited Value |
Include GeoFence Category in GeoTag | No |
New GeoEvent Definition Name | AirC2-MilitaryAirTrack_InsideThreatDome |
Connect the filter to the GeoTag Range Dome Name processor
Field | Value |
Name | Add Distance and Callsign |
Processor | Field Enricher (Feature Service) |
Server Connection | AirC2 AGS Server |
Folder | AirC2 |
Service | AirC2-TargetThreatAreas (FeatureServer) |
Layer | Threat position Inner (m) (0) |
Feature Layer Join Field | gtgt_name |
Target Fields | New Fields |
Enrichment Fields | distance, ac_callsign |
Field Tags | |
New GeoEvent Definition Name | AirC2-MilitaryAirTrack_InsideRangeDome_Enriched |
GeoEvent Join Field | RangeDomeName |
Cache Refresh Time Interval | 1 |
Maximum Cache Size | 1000 |
Connect the filter to the Field Enricher created in step 22.
Field | Value |
Name | Map Fields to Threat Output |
Processor | Field Mapper |
Source GeoEvent Definition | AirC2-MilitaryAirTrack_InsideThreatDome_Enriched |
Target GeoEvent Definition | AirC2-UpdateAirspaceAlert |
Source Field | Target Field |
id | callsign |
lat | lat |
lon | long |
alt | alt |
$RECEIVED_TIME | alerttime |
geometry | geometry |
Note
The first time setting up the service the input definition created when the event passes through the Add Distance and Callsign Field Enricher will not be present. Run the simulation until an event passes through the field enricher at which point the geoevent definition will be created.
Connect the filter to the Calculate Status processor created in step 11.
Field | Value |
Name | Map Alerts |
Processor | Field Mapper |
Source GeoEvent Definition | AirC2-MilitaryAirTrack_InsideACM_Enriched |
Target GeoEvent Definition | AirC2-UpdateAirspaceAlert |
Source Field | Target Field |
id | callsign |
lat | lat |
lon | long |
alt | alt |
$RECEIVED_TIME | alerttime |
geometry | geometry |
Note
The first time setting up the service the input definition created when the event passes through the Add Min Max Heights Field Enricher will not be present. Run the simulation until an event passes through the field enricher at which point the geoevent definition will be created.