Skip to content

Configure Civilian Services

Joe Bayles edited this page Jan 31, 2017 · 1 revision

The AirC2-CivilianTracks service uses the Airc2-tcp-text-in-civilian-air-tracks input connector to read serials from a simulation file transmitted over a TCP socket and performs 5 distinct tasks in real-time:

  • The tracks are rendered to a feature service without processing to simply display the position of the aircraft being simulated.
  • The tracks are sent to a stream service without processing to simply display the position of the aircraft being simulated.
  • The service determines whether an aircraft is within an airspace control order (ACO) using the ACO geofences. When an aircraft is detected as within an ACO, the ACO status is changed to 'ACTIVE'. When an aircraft leaves an 'ACTIVE' ACO its status is changed back to 'INACTIVE'. Both horizontal (latitude and longitude) and vertical (altitude) coordinates are used to determine whether an aircraft is within an ACO.
  • When an aircraft enters a restricted ACO, an alert is rendered on top of the aircraft indicating that it is inside a restricted zone. Similar to detecting whether an aircraft is inside an ACO.
  • The service determines if an aircraft is within a weapon system's range using the Target Threat Area GeoFences. When an aircraft is within the threat area an alert is generated and rendered above the aircraft entering the threat area.
  1. Create a new GeoEvent service called AirC2-CivilianTracks.
  2. Add the AirC2-tcp-text-in-civilian-air-tracks input.
  3. Drag the AirC2-StreamServiceOut-CivilianAirTracks output service into the GeoEvent Service Designer. Connect the output to the AirC2-tcp-text-in-civilian-air-tracks input connector. This will write the simulated data to a stream service.
  4. Drag the AirC2-UpdateFeatures-CivilianAirTracks output service into the GeoEvent Service Designer. Connect the output to the AirC2-tcp-text-in-civilian-air-tracks input connector. This will write the simulated data to a feature service.
  5. Create a new GeoTag Processor. Use the table below to configure the processor. Once configured connect the processor to the AirC2-tcp-text-in-civilian-air-tracks input.
  6. 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-CivilianAirTrack_InsideACM
  7. Create a new filter called Filter Out Non ACM Tagged Records (Inside). Set the query to:
    • NOT ACMNameInside = ""
    This filter removes all events that do not have values for the ACMNameInside field. This step is important because the GeoTagger Processor allows all events through regardless whether there is a valid GeoFence tagged to the event. Events that do not enter a GeoFence will have an ACMNameInside value of an empty String (""). These events will be filtered out.
  8. 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:
  9. Field Value
    Name Add Min and Max Heights
    Processor Field Enricher (Feature Service)
    Server Connection AirC2 AGS Server
    Folder AirC2
    Service AirC2_ACO_Status (FeatureServer)
    Layer Airspace Control Means - Status (0)
    Feature Layer Join Field name
    Target Fields New Fields
    Enrichment Fields min_height, max_height, status, acm
    Field Tags
    New GeoEvent Definition Name AirC2-CivilianAirTrack_InsideACM_Enriched
    GeoEvent Join Field ACMNameInside
    Cache Refresh Time Interval 1
    Maximum Cache Size 1000
    Connect the Field Enricher Processor to the Filter processor.
  10. 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}

    Connect the filter to the Add Min Max Heights Field Enricher processor.
  11. Create a Field Calculator processor to modify the Status of the ACO. Use the following table to configure the processor.
  12. Field Value
    Name Calculate Status (Active)
    Processor Field Calculator
    Expression 'ACTIVE'
    Target Field Existing Field
    Existing Field Name status
    Connect the Field Calculator processor to the Filter created in step 8.
  13. 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:
  14. Field Value
    Name Map Status and Name
    Processor Field Mapper
    Source GeoEvent Definition AirC2-CivilianAirTrack_InsideACM_Enriched
    Target GeoEvent Definition AirC2-Update_ACO_Status
    Source Fields Target Fields
    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.

    Connect the Field Mapper to the Field Calculator processor created in step 9.
  15. Drag the AirC2-UpdateFeatures-ACOStatus output onto the GeoEvent Service Designer and connect the Map Status and Name Field Mapper processor to it.
  16. Create a new GeoTag Processor. Use the table below to configure the processor. Once configured connect the processor to the AirC2-tcp-text-in-civilian-air-tracks input.
  17. Field Value
    Name GeoTag Air Control Means on Aircraft 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-CivilianAirTrack_OutsideACM
  18. Create a new filter called Filter Out Non ACM Tagged Records. Set the filter's query to the following:
    • NOT GeoTags = ""

    This will filter out events that do not honor the GeoTagger's query created in step 12. Connect the filter to the GeoTagger created in the last step.
  19. 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 12). The field added to the incoming event is status. Use the following table to check Field Enricher Processor
  20. Field Value
    Name Add Status
    Processor Field Enricher (Feature Service)
    Server Connection AirC2 AGS Server
    Folder AirC2
    Service AirC2_ACO_Status (FeatureServer)
    Layer Airspace Control Means - Status (0)
    Feature Layer Join Field name
    Target Fields New Fields
    Enrichment Fields status
    Field Tags
    New GeoEvent Definition Name AirC2-CivilianAirTrack_OutsideACM_Enriched
    GeoEvent Join Field GeoTags
    Cache Refresh Time Interval 1
    Maximum Cache Size 1000
    Connect the Field Enricher to the Field Splitter created in step 13.
  21. Create a Field Calculator processor to modify the Status of the ACO. Use the following table to configure the processor:
  22. Field Value
    Name Calculate Status (Inactive)
    Processor Field Calculator
    Expression 'INACTIVE'
    Target Field Existing Field
    Existing Field Name status
    Connect the Field Calculator to the Field Enricher created in step 14.
  23. 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.
  24. Field Value
    Name Map Name and Status
    Processor Field Mapper
    Source GeoEvent Definition AirC2-CivilianAirTrack_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.

    Connect the Field Mapper to the Field Calculator processor created in step 15.
  25. Connect the Field mapper created in the previous step to the AirC2-UpdateFeatures-ACOStatus output connector.
  26. Create GeoTagger Processor. This processor will test whether an event is inside a target threat area. Use the following table to configure the GeoTagger:
  27. Field Value
    Name GeoTag Range Dome
    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-CivilianAirTrack_InsideThreatDome
    Connect the geoTagger to the AirC2-tcp-text-in-civilian-airtracks input connector.
  28. 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 = ""

  29. 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:
  30. 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-CivilianAirTrack_InsideThreatDome_Enriched
    GeoEvent Join Field RangeDomeName
    Cache Refresh Time Interval 1
    Maximum Cache Size 1000
    Connect the Field Enricher processor to the filter created in step 19.
  31. 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}

    Connect the filter to the Field Enricher created in step 20.
  32. Create a new Field Mapper Processor. Use the following tables to configure the Field Mapper:
  33. Field Value
    Name Map Fields to Output
    Processor Field Mapper
    Source GeoEvent Definition AirC2-CivilianAirTrack_InsideThreatDome_Enriched
    Target GeoEvent Definition AirC2-Update_AirspaceAlert
    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 Field Mapper to the Filter processor created in step 21.
  34. Drag the AirC2-UpdateFeatures-TargetThreatAlerts output into the GeoEvent service designer. Connect the Field mapper created in step 22 to the output
  35. Create a new Field Mapper Processor. Use the following tables to configure the FieldMapper
  36. Field Value
    Name Map Alerts
    Processor Field Mapper
    Source GeoEvent Definition AirC2-CivilianAirTrack_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.

    Connect the Field Mapper to the Field Calculator processor, Calculate Status, created in step 9.
  37. Drag the AirC2-UpdateFeatureService-AirspaceControlMeasureAlert output service into the GeoEvent Service Designer. Connect the output to the Field mapper created in step 24.