private void dispatcherTimer_TickCAT20(object sender, EventArgs e)
        {
            checkActual();
            //Retreive the packages which have the same time (same second)
            Boolean t = true;

            while (t == true)
            {
                CAT20 cat20 = CAT20s[this.contador];
                this.tiempo = cat20.TOD.Split(':');
                if (Convert.ToInt32(tiempo[2]) == secact)
                {
                    addMarkerMLAT(cat20.X, cat20.Y, cat20.callsign);
                    this.contador++;
                    if (mapView.Markers.Count >= 200)
                    {
                        mapView.Markers[mapView.Markers.Count - 200].Clear();
                    }
                }
                else
                {
                    t = false;
                    secact++;
                }
                clockUpdate(this.tiempo);
            }
            flightdata.Rows.Clear();
            fillGridFlightsCAT20();
        }
        private void filldataexpandedCAT20(int index) //crea la tabla pequeña de CAT20 (solo con los items que existan)
        {
            DataTable expanded = new DataTable();
            CAT20     cat20exp = f.getCAT20(index);

            expanded.Columns.Add(new DataColumn());
            expanded.Columns.Add(new DataColumn());

            expanded.Rows.Add("Package #", index + 1);
            try { expanded.Rows.Add("Data Source ID", "SAC: " + cat20exp.SAC + " SIC: " + cat20exp.SIC); } catch { }
            try { expanded.Rows.Add("Target ID", cat20exp.TargetID[1]); } catch { }
            try { expanded.Rows.Add("Track Number", cat20exp.TrackNum); } catch { }
            try { expanded.Rows.Add("Time of Day (UTC)", cat20exp.TOD); } catch { }
            try { expanded.Rows.Add("Position in WSG-84", "[" + cat20exp.LatWSG.ToString() + "," + cat20exp.LonWSG.ToString() + "]"); } catch { }
            try { expanded.Rows.Add("Position (X, Y)", "[" + cat20exp.X.ToString() + "," + cat20exp.Y.ToString() + "] m"); } catch { }
            try { expanded.Rows.Add("Track Velocity (Vx, Vy)", "[" + cat20exp.Vy.ToString() + "," + cat20exp.Vy.ToString() + "] m/s"); } catch { }
            try { expanded.Rows.Add("Flight Level", "FL" + cat20exp.FL[2]); } catch { }
            try { expanded.Rows.Add("Target Report", cat20exp.getTargetReportDescriptortoString()); } catch { }
            try { expanded.Rows.Add("Track Status", cat20exp.getTrackStatusToString()); } catch { }
            try { expanded.Rows.Add("Mode-3/A Code", cat20exp.Mode3A.ToString()); } catch { }
            try { expanded.Rows.Add("Mode-C Code", cat20exp.ModeC.ToString()); } catch { }
            try { expanded.Rows.Add("Target Address", cat20exp.TargetAddress.ToString()); } catch { }
            try { expanded.Rows.Add("Measured Height", cat20exp.MeasuredHeight.ToString()); } catch { }
            try { expanded.Rows.Add("Geometric Height", cat20exp.geoHeight.ToString()); } catch { }
            try { expanded.Rows.Add("Calculated Accel", cat20exp.calcAccel.ToString()); } catch { }
            try { expanded.Rows.Add("Vehicle Fleet ID", cat20exp.VehicleFleetID.ToString()); } catch { }
            try { expanded.Rows.Add("Pre-Programmed Message", cat20exp.PPMsg.ToString()); } catch { }
            try { expanded.Rows.Add("Position Accuracy:", cat20exp.getPositionAccuracyToString()); } catch { }
            try { expanded.Rows.Add("Receivers", cat20exp.Receivers.ToString()); } catch { }
            try { expanded.Rows.Add("Mode S MB Data", cat20exp.ModeSData.ToString()); } catch { }

            dataexpanded.ItemsSource = expanded.DefaultView;
            dataexpanded.Items.Refresh();
        }
        private void searchbut_Click(object sender, RoutedEventArgs e) // botón SEARCH
        {
            if (combobox.SelectedIndex == 0)                           // buscar por número de paquete
            {
                try
                {
                    int package = Convert.ToInt32(searchbox.Text) - 1;

                    if (this.cat == 10)
                    {
                        CAT10 cat10search = f.getCAT10(package);

                        dataCATsearch = f.getTablaCAT10Indv(cat10search, package);

                        gridCAT.ItemsSource = dataCATsearch.DefaultView;
                        gridCAT.Items.Refresh();

                        filldataexpandedCAT10(package);
                    }
                    if (this.cat == 20)
                    {
                        CAT20 cat20search = f.getCAT20(package);

                        dataCATsearch = f.getTablaCAT20Indv(cat20search, package);

                        gridCAT.ItemsSource = dataCATsearch.DefaultView;
                        gridCAT.Items.Refresh();

                        filldataexpandedCAT20(package);
                    }
                    if (this.cat == 21)
                    {
                        CAT21 cat21search = f.getCAT21(package);

                        dataCATsearch = f.getTablaCAT21Indv(cat21search, package);

                        gridCAT.ItemsSource = dataCATsearch.DefaultView;
                        gridCAT.Items.Refresh();

                        filldataexpandedCAT21(package);
                    }
                }
                catch
                {
                    MessageBox.Show("Package not available, check the number");
                }
            }
            if (combobox.SelectedIndex == 1) // buscar por callsign
            {
                try
                {
                    if (this.cat == 10)
                    {
                        dataCATsearch = f.SearchCallsignCAT10(searchbox.Text);

                        gridCAT.ItemsSource = dataCATsearch.DefaultView;
                        gridCAT.Items.Refresh();
                    }
                    if (this.cat == 20)
                    {
                        dataCATsearch = f.SearchCallsignCAT20(searchbox.Text);

                        gridCAT.ItemsSource = dataCATsearch.DefaultView;
                        gridCAT.Items.Refresh();
                    }
                    if (this.cat == 21)
                    {
                        dataCATsearch = f.SearchCallsignCAT21(searchbox.Text);

                        gridCAT.ItemsSource = dataCATsearch.DefaultView;
                        gridCAT.Items.Refresh();
                    }
                }
                catch
                {
                    MessageBox.Show("Package not available, check the callsign");
                }
            }
            if (combobox.SelectedIndex == 2) // buscar por track number
            {
                try
                {
                    if (this.cat == 10)
                    {
                        dataCATsearch = f.SearchTrackNumberCAT10(searchbox.Text);

                        gridCAT.ItemsSource = dataCATsearch.DefaultView;
                        gridCAT.Items.Refresh();
                    }
                    if (this.cat == 20)
                    {
                        dataCATsearch = f.SearchTrackNumberCAT20(searchbox.Text);

                        gridCAT.ItemsSource = dataCATsearch.DefaultView;
                        gridCAT.Items.Refresh();
                    }
                    if (this.cat == 21)
                    {
                        dataCATsearch = f.SearchTrackNumberCAT21(searchbox.Text);

                        gridCAT.ItemsSource = dataCATsearch.DefaultView;
                        gridCAT.Items.Refresh();
                    }
                }
                catch
                {
                    MessageBox.Show("Package not available, check the track number");
                }
            }
        }
        void ClikDataGrid(object sender, RoutedEventArgs e) //al clicar en una celda de la tabla
        {
            //cogemos la celda
            DataGridCell cell = (DataGridCell)sender;
            int          c    = cell.Column.DisplayIndex; //número de columna
            DataGridRow  r2   = DataGridRow.GetRowContainingElement(cell);
            int          fil  = r2.GetIndex();            //número de fila

            if (this.cat == 10)
            {
                //cojo el paquete
                CAT10 paquete = f.getCAT10(fil);

                //expandimos información:
                if (c == 7 && paquete.DataCharacteristics != null) // Target Report - Data Characteristics
                {
                    MessageBox.Show(paquete.DataCharacteristics, "Data Characteristics");
                }
                if (c == 14 && paquete.TrackStatus != null) // Track Status
                {
                    MessageBox.Show(paquete.TrackStatus, "Track Status");
                }
                if (c == 27 && paquete.Presence != null) // Presence
                {
                    MessageBox.Show(paquete.Presence, "Presence");
                }
                if (c == 17 && paquete.ModeS != null) // Mode S MB Data
                {
                    MessageBox.Show(paquete.ModeS, "Mode S MB Data");
                }
                if (c == 23 && paquete.SystemStatus != null) // System Status
                {
                    MessageBox.Show(paquete.SystemStatus, "System Status");
                }

                //mostramos las características de ese paquete a parte:
                filldataexpandedCAT10(fil);
            }
            if (this.cat == 20)
            {
                CAT20 paquete = f.getCAT20(fil);

                //expandimos información:
                if (c == 6 && paquete.getTargetReportDescriptortoString() != null)
                {
                    MessageBox.Show(paquete.getTargetReportDescriptortoString(), "Target Report Descriptor");
                }
                if (c == 10 && paquete.getTrackStatusToString() != null) //Track status
                {
                    MessageBox.Show(paquete.getTrackStatusToString(), "Track Status");
                }
                if (c == 21 && paquete.getPositionAccuracyToString() != null) //Pos Accuracy
                {
                    MessageBox.Show(paquete.getPositionAccuracyToString(), "Position Accuracy");
                }

                //mostramos las características de ese paquete a parte:
                filldataexpandedCAT20(fil);
            }
            if (this.cat == 21)
            {
                CAT21 paquete = f.getCAT21(fil);

                //expandimos información:
                if (c == 5 && paquete.TargetReport != null) //Target Report Descriptor
                {
                    MessageBox.Show(paquete.TargetReport, "Target Report Descriptor");
                }
                if (c == 11 && paquete.OperationalStatus != null) //Operational Status
                {
                    MessageBox.Show(paquete.OperationalStatus, "Operational Status");
                }
                if (c == 48 && paquete.FigureOfMerit != null) //Figure Of Merit
                {
                    MessageBox.Show(paquete.FigureOfMerit, "Figure of Merit");
                }
                if (c == 49 && paquete.ages != null) //Data ages
                {
                    MessageBox.Show(paquete.ages, "Data Ages");
                }
                if (c == 41 && paquete.TrajectoryIntentData != null) //Trajectory Intent Data
                {
                    MessageBox.Show(paquete.TrajectoryIntentData, "Trajectory Intent Data");
                }
                if (c == 32 && paquete.LinkTech != null) //Link Technology
                {
                    MessageBox.Show(paquete.LinkTech, "Link Technology");
                }
                if (c == 26 && paquete.TargetStatus != null) //Target Status
                {
                    MessageBox.Show(paquete.TargetStatus, "Target Status");
                }
                if (c == 21 && paquete.MetReport != null) //Met Report
                {
                    MessageBox.Show(paquete.MetReport, "Met Report");
                }
                if (c == 30 && paquete.QualityIndicators != null) //Quality Indicators
                {
                    MessageBox.Show(paquete.QualityIndicators, "Quality Indicators");
                }
                if (c == 28 && paquete.ModeS != null) //Mode S
                {
                    MessageBox.Show(paquete.ModeS, "Mode S");
                }
                if (c == 18 && paquete.MOPS != null) //MOPS version
                {
                    MessageBox.Show(paquete.MOPS, "MOPS Version");
                }

                //mostramos las características de ese paquete a parte:
                filldataexpandedCAT21(fil);
            }
        }
示例#5
0
 public CAT20_TARGET(CAT20 cat20)
 {
     InitializeComponent();
     this.cat20 = cat20;
 }
示例#6
0
 public CAT20_TRACKSTATUS(CAT20 cat20)
 {
     InitializeComponent();
     this.cat20 = cat20;
 }
示例#7
0
 public CAT20_INFOFLIGHT(CAT20 cat20, List <PointLatLng> listaCoordenadas)
 {
     InitializeComponent();
     this.cat20            = cat20;
     this.listaCoordenadas = listaCoordenadas;
 }
示例#8
0
 public AircraftInformation(CAT20 cat20)
 {
     InitializeComponent();
     this.cat20 = cat20;
 }