Beispiel #1
0
        /// <summary>
        /// 批量加载卫星观测区 根据卫星观测区所属的任务id加载
        /// </summary>
        /// <param name="pMapCtr"></param>
        /// <param name="id"></param>
        public static void LoadSatelliteResaultAreasByTaskID(ESRI.ArcGIS.Controls.AxMapControl pMapCtr, int id, DateTime begin, DateTime end)
        {
            //读取并图上显示卫星观测区信息
            Core.Map.MapHelper map = new Core.Map.MapHelper(pMapCtr);
            map.ClearAllElement();
            //卫星观测区域
            Core.DAL.SatelliteResault dal_satelliteResault = new Core.DAL.SatelliteResault();
            list_model = new List <Core.Model.SatelliteResault>();

            IEnvelope envelope = null;

            try
            {
                list_model = dal_satelliteResault.GetListByTaskID(id, begin, end);
                if (list_model.Count == 0)
                {
                    MessageBox.Show("该灾区尚未生成任务区!");
                    return;
                }
                //加载
                foreach (Core.Model.SatelliteResault t_model in list_model)
                {
                    try
                    {
                        LoadSatelliteResaultArea(map, t_model);
                        IPolygon pPolygon = Core.Generic.Convertor.ToPolygon(t_model.POLYGONSTRING);
                        //获取多个Polygon的Envelope外包矩形
                        if (envelope == null)
                        {
                            envelope = pPolygon.Envelope;
                        }
                        else
                        {
                            envelope.Union(pPolygon.Envelope);
                        }
                    }
                    catch (Exception ex)
                    {
                        continue;
                    }
                }

                if (!envelope.IsEmpty)
                {
                    envelope.Expand(1.1, 1.1, true);
                }
                pMapCtr.Extent = envelope;
                pMapCtr.ActiveView.Refresh();
            }
            catch (Exception ex)
            {
                MessageBox.Show("错误:" + ex);
            }
        }
Beispiel #2
0
        /// <summary>
        /// 加载观测区域列表
        /// </summary>
        /// <param name="pnode"></param>
        public static void LoadSatelliteResaultList(ESRI.ArcGIS.Controls.AxMapControl pMapCtr, TreeNode pnode, bool timeChecked)
        {
            int pid;

            int.TryParse(pnode.Tag.ToString().Substring(3), out pid);

            Core.DAL.SatelliteResault          dal        = new Core.DAL.SatelliteResault();
            List <Core.Model.SatelliteResault> list_model = new List <Core.Model.SatelliteResault>();
            TreeNode node;

            try
            {
                if (timeChecked)
                {
                    list_model = dal.GetListByTaskIDTime(pid);
                }
                else
                {
                    list_model = dal.GetListByTaskID(pid);
                }

                if (list_model.Count != 0)
                {
                    pnode.Nodes.Clear();
                }
                foreach (Core.Model.SatelliteResault model in list_model)
                {
                    Core.Model.ImgLayoutTempTimewindow imgLayoutTempTimewindow     = new Core.Model.ImgLayoutTempTimewindow();
                    Core.DAL.ImgLayoutTempTimewindow   dal_imgLayoutTempTimewindow = new Core.DAL.ImgLayoutTempTimewindow();
                    imgLayoutTempTimewindow = dal_imgLayoutTempTimewindow.GetModel(model.LSTR_SEQID.ToString());
                    node                    = new TreeNode();
                    node.Text               = imgLayoutTempTimewindow.STARTTIME.ToString("yyyy-MM-dd HH:mm:ss") + "\\" + imgLayoutTempTimewindow.SAT_STKNAME + "\\" + imgLayoutTempTimewindow.SENSOR_STKNAME;
                    node.Tag                = "I1|" + model.LSTR_SEQID;//I--表示观测结果,model.LSTR_SEQID--表示为观测结果ID
                    node.ImageIndex         = 4;
                    node.SelectedImageIndex = 5;
                    pnode.Nodes.Add(node);
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }
            finally
            {
                list_model = null;
                dal        = null;
            }
        }