private void button_CreateAzimuthDifferenceDataDisplay_Click(object sender, EventArgs e)
        {
            // May need to create track comparison event interval first to then use as a time constraint in the data display
            IAgStkObject aircraftOwnship = CommonData.StkRoot.GetObjectFromPath("Aircraft/F35");
            IAgStkObject measuredObject  = CommonData.StkRoot.GetObjectFromPath(measuredObjName);

            if (aircraftOwnship.Vgt.EventIntervals.Contains(String.Format("TC_{0}_ComparisonInterval", trackName)))
            {
                return; // do nothing
            }
            else
            {
                IAgCrdnEventInterval eventInterval = aircraftOwnship.Vgt.EventIntervals.Factory.CreateEventIntervalFromIntervalList(String.Format("TC_{0}_ComparisonInterval", trackName), "Single time interval created from reference interval list.");
                IAgCrdnEventIntervalFromIntervalList eventIntervalFromList = eventInterval as IAgCrdnEventIntervalFromIntervalList;
                eventIntervalFromList.ReferenceIntervals = measuredObject.Vgt.EventIntervalLists["AvailabilityIntervals"];
                eventIntervalFromList.IntervalSelection  = AgECrdnIntervalSelection.eCrdnIntervalSelectionSpan;
            }

            try
            {
                string cmd = String.Format(@"TE_DataDisplay * Add Name ""Azimuth_Difference_TC_{0}"" AnalysisObject ""F35"" Numeric DataElement ""TC_{0}_AzimuthDifference, Azimuth Distance, deg, On"" Color ""Yellow"" Location ""1, 10, 10"" Digits ""3"" Width ""Auto"" TimeConstraint ""TC_{0}_ComparisonInterval""", trackName);
                CommonData.StkRoot.ExecuteCommand(cmd);
                CommandList.cmdList.Add(cmd);
            }
            catch (Exception exception)
            {
                MessageBox.Show("Error:" + exception);
                return;
            }
        }
        public static void CreateTimelineComponent(GroundEvent currentGroundEvent)
        {
            IAgStkObject place = CommonData.StkRoot.GetObjectFromPath("Place/" + currentGroundEvent.Id);

            if (!place.Vgt.EventIntervals.Contains(currentGroundEvent.Id + "-Interval"))
            {
                IAgCrdnEventInterval      interval     = place.Vgt.EventIntervals.Factory.CreateEventIntervalFixed(currentGroundEvent.Id + "-Interval", "");
                IAgCrdnEventIntervalFixed fixedInstant = interval as IAgCrdnEventIntervalFixed;
                fixedInstant.SetInterval(currentGroundEvent.StartTime, currentGroundEvent.StopTime);
            }
            string cmd = "Timeline * TimeComponent Add ContentView \"Event_Timeline\" DisplayName \"" + currentGroundEvent.Id + "-Interval\"" + " \"Place/" + currentGroundEvent.Id + " " + currentGroundEvent.Id + "-Interval Interval\"";

            CommonData.StkRoot.ExecuteCommand(cmd);
            CommonData.StkRoot.ExecuteCommand("Timeline * Refresh");
        }