Esempio n. 1
0
        /// <summary>
        /// 批量查询并下载
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonDays_Click(object sender, EventArgs e)
        {
            this.textCon.Text += "\r\n";
            code = this.textCode.Text;
            CoScheduling.Core.DAL.SatelliteOrbit dal_satelliteOrbit = new CoScheduling.Core.DAL.SatelliteOrbit();
            SpaceTrack spacetrack = new SpaceTrack();
            DateTime   startDay   = dateTimePicker3.Value;
            DateTime   endDay     = dateTimePicker2.Value;
            double     days       = (endDay - startDay).TotalDays;
            int        daynum     = Convert.ToInt32(days);

            this.progressBarBat.Refresh();
            this.progressBarBat.Visible = true;
            this.progressBarBat.Minimum = 0;
            this.progressBarBat.Maximum = daynum;
            progressBarBat.Step         = 1;
            for (int i = 0; i <= daynum; i++)
            {
                progressBarBat.PerformStep();
                if (dal_satelliteOrbit.Exists(startDay.AddDays(i)))
                {
                    return;
                }
                quaryStr = spacetrack.GetSpaceTrack(getNorad(), startDay.AddDays(i), startDay.AddDays(i + 1), this.textName.Text, code);
                try
                {
                    if (!String.IsNullOrEmpty(quaryStr))
                    {
                        List <CoScheduling.Core.Model.SatelliteOrbit> list = new List <CoScheduling.Core.Model.SatelliteOrbit>();
                        list = LoadTle(quaryStr);
                        DateTime tleDate = startDay.AddDays(i).Date;
                        foreach (CoScheduling.Core.Model.SatelliteOrbit orbit in list)
                        {
                            orbit.SAT_ORBITDATE = tleDate;
                            dal_satelliteOrbit.Add(orbit);
                        }
                        this.textCon.Text += startDay.AddDays(i).ToShortDateString() + ":保存成功!\r\n";
                    }
                    else
                    {
                        MessageBox.Show("请先执行查询生成!");
                        this.textCon.Text += startDay.AddDays(i).ToShortDateString() + ":下载失败,网络故障!\r\n";
                        continue;
                    }
                }
                catch (System.Exception ex)
                {
                    this.textCon.Text += startDay.AddDays(i).ToShortDateString() + ":查询错误,具体原因:\r\n" + ex.ToString() + "\r\n";
                }
            }
            this.progressBarBat.Visible = false;
            //写入更新日志
            CoScheduling.Core.Model.SATELLITE_UPDATE satelliteUpdate     = new CoScheduling.Core.Model.SATELLITE_UPDATE();
            CoScheduling.Core.DAL.SATELLITE_UPDATE   dal_satelliteUpdate = new CoScheduling.Core.DAL.SATELLITE_UPDATE();
            satelliteUpdate.UPDATE_TABLE = "T_PUB_SATELLITE";
            satelliteUpdate.UPDATE_LOG   = this.textCon.Text;
            satelliteUpdate.UPDATE_TIME  = System.DateTime.Now;
            dal_satelliteUpdate.Add(satelliteUpdate);
            MessageBox.Show("批量下载任务完成!");
        }
Esempio n. 2
0
 /// <summary>
 /// 单次查询下载
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void buttonDownload_Click(object sender, EventArgs e)
 {
     //保存在数据库中
     try
     {
         if (this.checkDate.Checked)
         {
             List <CoScheduling.Core.Model.SatelliteOrbit> list = new List <CoScheduling.Core.Model.SatelliteOrbit>();
             CoScheduling.Core.DAL.SatelliteOrbit          dal_satelliteOrbit = new CoScheduling.Core.DAL.SatelliteOrbit();
             list = LoadTle(quaryStr);
             //检查T_PUB_SATELLITEORBIT是否已经存在该日期的星历,如果存在就不执行了
             DateTime tleDate = this.dateTimePicker1.Value.Date;
             if (dal_satelliteOrbit.Exists(tleDate))
             {
                 MessageBox.Show(tleDate + "卫星轨道数据已存在,无需重新下载!");
                 return;
             }
             //赋予每条数据所选日期并插入数据库
             foreach (CoScheduling.Core.Model.SatelliteOrbit orbit in list)
             {
                 orbit.SAT_ORBITDATE = tleDate;
                 dal_satelliteOrbit.Add(orbit);
             }
             //写入更新日志
             CoScheduling.Core.Model.SATELLITE_UPDATE satelliteUpdate     = new CoScheduling.Core.Model.SATELLITE_UPDATE();
             CoScheduling.Core.DAL.SATELLITE_UPDATE   dal_satelliteUpdate = new CoScheduling.Core.DAL.SATELLITE_UPDATE();
             satelliteUpdate.UPDATE_TABLE = "T_PUB_SATELLITE";
             satelliteUpdate.UPDATE_LOG   = tleDate + "卫星轨道数据下载成功!";
             satelliteUpdate.UPDATE_TIME  = System.DateTime.Now;
             dal_satelliteUpdate.Add(satelliteUpdate);
             MessageBox.Show(tleDate + "卫星轨道数据下载成功!");
         }
         else
         {
             List <CoScheduling.Core.Model.T_PUB_NEWORBIT> list = new List <CoScheduling.Core.Model.T_PUB_NEWORBIT>();
             CoScheduling.Core.DAL.T_PUB_NEWORBIT          dal_satelliteOrbit = new CoScheduling.Core.DAL.T_PUB_NEWORBIT();
             list = LoadTleNew(quaryStr);
             //清空轨道数据
             dal_satelliteOrbit.Delete();
             DateTime tleDate = System.DateTime.Now.AddDays(-1);
             //插入私有轨道数据
             foreach (CoScheduling.Core.Model.T_PUB_NEWORBIT orbit in list)
             {
                 orbit.SAT_ORBITDATE = tleDate;
                 dal_satelliteOrbit.Add(orbit);
             }
             MessageBox.Show("卫星轨道资源配置成功!");
         }
         this.textCon.Text = "";
     }
     catch (System.Exception ex)
     {
         MessageBox.Show("请先进行查询在,在右侧显示查询结果后再点击下载!");
         this.textCon.Text = "";
     }
 }
Esempio n. 3
0
        /// <summary>
        /// 日期检查按钮事件
        /// 查询数据库中已有的日期
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonCheckDate_Click(object sender, EventArgs e)
        {
            List <DateTime> list = new List <DateTime>();

            CoScheduling.Core.DAL.SatelliteOrbit dal_satelliteOrbit = new CoScheduling.Core.DAL.SatelliteOrbit();
            list = dal_satelliteOrbit.GetDate();
            foreach (DateTime dt in list)
            {
                this.textCon.Text += "\r\n" + dt.ToLongDateString() + "存在!";
            }
        }
Esempio n. 4
0
        public void SetBigAreaSchemeSat(int SchemeID)
        {
            List <CoScheduling.Core.Model.SATELLITE_SENSOR_SELECTED> selectedSatelliteList = new List <CoScheduling.Core.Model.SATELLITE_SENSOR_SELECTED>();

            CoScheduling.Core.DAL.SATELLITE_SENSOR_SELECTED dal_selectedSatelliteList = new CoScheduling.Core.DAL.SATELLITE_SENSOR_SELECTED();

            CoScheduling.Core.DAL.BIGAREA_SATELLITE dal_satelliteList = new CoScheduling.Core.DAL.BIGAREA_SATELLITE();
            CoScheduling.Core.DAL.BIGAREA_SENSOR    dal_sensorList    = new CoScheduling.Core.DAL.BIGAREA_SENSOR();
            CoScheduling.Core.DAL.BIGAREA_ORBIT     dal_orbitList     = new CoScheduling.Core.DAL.BIGAREA_ORBIT();
            CoScheduling.Core.DAL.SatelliteOrbit    dal_orbit         = new CoScheduling.Core.DAL.SatelliteOrbit();
            CoScheduling.Core.DAL.BIGAREA_SCHEME    dal_scheme        = new CoScheduling.Core.DAL.BIGAREA_SCHEME();
            List <int> satidList = new List <int>();

            CoScheduling.Core.Model.BIGAREA_SATELLITE satelliteList = new CoScheduling.Core.Model.BIGAREA_SATELLITE();
            CoScheduling.Core.Model.BIGAREA_SENSOR    sensorList    = new CoScheduling.Core.Model.BIGAREA_SENSOR();
            CoScheduling.Core.Model.BIGAREA_ORBIT     orbitList     = new CoScheduling.Core.Model.BIGAREA_ORBIT();
            CoScheduling.Core.Model.SatelliteOrbit    orbit         = new CoScheduling.Core.Model.SatelliteOrbit();
            CoScheduling.Core.Model.BIGAREA_SCHEME    scheme        = new CoScheduling.Core.Model.BIGAREA_SCHEME();
            scheme = dal_scheme.GetModel(SchemeID);

            satidList = dal_selectedSatelliteList.GetCheckedSatID(true);
            satelliteList.SCHEMEID = SchemeID;
            sensorList.SCHEMEID    = SchemeID;
            orbitList.SCHEMEID     = SchemeID;
            foreach (int satid in satidList)
            {
                satelliteList.SATID = satid;
                dal_satelliteList.Add(satelliteList);
                orbit = dal_orbit.GetModel(satid, scheme.SCHEMEBTIME);

                orbitList.SATID                = satid;
                orbitList.SAT_ARGOFPERIGEE     = orbit.SAT_ARGOFPERIGEE;
                orbitList.SAT_BSTAR            = orbit.SAT_BSTAR;
                orbitList.SAT_ECCENTRICITY     = orbit.SAT_ECCENTRICITY;
                orbitList.SAT_INCLINATION      = orbit.SAT_INCLINATION;
                orbitList.SAT_MEANANOMALY      = orbit.SAT_MEANANOMALY;
                orbitList.SAT_MEANMOTION       = orbit.SAT_MEANMOTION;
                orbitList.SAT_MEANMOTIONDOT    = orbit.SAT_MEANMOTIONDOT;
                orbitList.SAT_MEANMOTIONDOTDOT = orbit.SAT_MEANMOTIONDOTDOT;
                orbitList.SAT_ORBITEPOCH       = orbit.SAT_ORBITEPOCH;
                orbitList.SAT_RAAN             = orbit.SAT_RAAN;
                orbitList.SAT_TLE1             = orbit.SAT_TLE1;
                orbitList.SAT_TLE2             = orbit.SAT_TLE2;
                dal_orbitList.Add(orbitList);
            }
            selectedSatelliteList = dal_selectedSatelliteList.GetCheckedList();
            foreach (CoScheduling.Core.Model.SATELLITE_SENSOR_SELECTED sensor in selectedSatelliteList)
            {
                sensorList.SATID    = sensor.SAT_ID;
                sensorList.SENSORID = sensor.SENSOR_ID;
                dal_sensorList.Add(sensorList);
            }
        }