Пример #1
0
        private void AddPlaceFreqPlans(EquipmentClassFreqRange[] checkedFreqRanges, ActivityPlaceInfo placeInfo)
        {
            var freqPlanList = this.dataGridFreqRange.ItemsSource as IList <PlaceFreqPlan>;
            var addFreqPlans = new PlaceFreqPlan[checkedFreqRanges.Length];

            for (int i = 0; i < addFreqPlans.Length; i++)
            {
                addFreqPlans[i] = new PlaceFreqPlan();
                addFreqPlans[i].CopyFrom(checkedFreqRanges[i]);
                addFreqPlans[i].ActivityGuid = placeInfo.ActivityGuid;
                addFreqPlans[i].PlaceGuid    = placeInfo.Guid;
                this.SetDistanceToPlace(addFreqPlans[i], addFreqPlans[i].mDistanceToActivityPlace);
                //var polygon = this.dicDistanceRangPoints[addFreqPlans[i].mDistanceToActivityPlace];
                //addFreqPlans[i].RangePointList = polygon.PointList;
                //var rect = polygon.GetExternalRectangle();
                //addFreqPlans[i].LongitudeRange = new Range<double> { Little = rect.LeftTop.Longitude, Great = rect.RightBottom.Longitude };
                //addFreqPlans[i].LatitudeRange = new Range<double> { Little = rect.RightBottom.Latitude, Great = rect.LeftTop.Latitude };
            }
            PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke <I_CO_IA.FreqStation.I_CO_IA_FreqStation>(channel =>
            {
                channel.SavePlaceFreqPlans(addFreqPlans);
            });
            foreach (var freqPlan in addFreqPlans)
            {
                freqPlanList.Add(freqPlan);
            }
        }
Пример #2
0
 public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
 {
     if (value != null)
     {
         PlaceFreqPlan freq = value as PlaceFreqPlan;
         return((freq.MHzFreqFrom).ToString() + "-" + (freq.MHzFreqTo).ToString());
     }
     return(null);
 }
Пример #3
0
 private void DrawPlaceExtendRange(PlaceFreqPlan freqPlan)
 {
     if (freqPlan.RangePointList != null && freqPlan.RangePointList.Count > 1)
     {
         List <I_GS_MapBase.Portal.Types.MapPointEx> list = new List <I_GS_MapBase.Portal.Types.MapPointEx>(freqPlan.RangePointList.Count);
         foreach (var pt in freqPlan.RangePointList)
         {
             list.Add(activityMap.ShowMap.MainMap.MapPointFactory.Create(pt.Longitude, pt.Latitude));
         }
         this.activityMap.ShowMap.DrawPolygon(list, new I_GS_MapBase.Portal.SymbolElement(placeExGuid));
         this.activityMap.ShowMap.SetAllGraphicsExtent();
     }
 }
Пример #4
0
        private void SetDistanceToPlace(PlaceFreqPlan freqRange, int mDistance)
        {
            BePolygon polygon = this.dicDistanceRangPoints[mDistance];

            freqRange.mDistanceToActivityPlace = mDistance;
            freqRange.RangePointList           = polygon.PointList;
            var rect = polygon.GetExternalRectangle();

            freqRange.LongitudeRange = new Range <double> {
                Little = rect.LeftTop.Longitude, Great = rect.RightBottom.Longitude
            };
            freqRange.LatitudeRange = new Range <double> {
                Little = rect.RightBottom.Latitude, Great = rect.LeftTop.Latitude
            };
        }
Пример #5
0
        private void SavePlaceFreqPlan(PlaceFreqPlan freqPlan, int mDistance)
        {
            int currentDistance = freqPlan.mDistanceToActivityPlace;

            this.SetDistanceToPlace(freqPlan, mDistance);
            try
            {
                PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke <I_CO_IA.FreqStation.I_CO_IA_FreqStation>(channel =>
                {
                    channel.SavePlaceFreqPlans(new PlaceFreqPlan[] { freqPlan });
                });
            }
            catch
            {
                this.SetDistanceToPlace(freqPlan, currentDistance);
            }
        }
Пример #6
0
 public ActivitySurroundStation()
 {
     FreqPlan = new PlaceFreqPlan();
 }
        /// <summary>
        /// 管理端自动填充频率规划列表
        /// </summary>
        private void fillNavGroupDataSouce()
        {
            //List<FreqPlanActivity> freqPlanList = GetActivityFreqPlanInfoSource(activityPlaceInfo.Guid);
            //if (freqPlanList.Count > 0)
            //{
            //    for (int i = 0; i < freqPlanList.Count; i++)
            //    {
            //        FreqPlanSegment fps = freqPlanList[i];
            //        NavBarGroup nbg = new NavBarGroup();
            //        AT_BC.Data.Range<double> freqValue = fps.FreqValue;
            //        //nbg.Header = fps.FreqPlanName + "    " + freqValue.Little / 1000000 + "--" + freqValue.Great / 1000000 + "MHz";
            //        nbg.Header = fps.FreqPlanName;
            //        FreqNavBar fnb = new FreqNavBar();
            //        fnb.FreqStart = (freqValue.Little / 1000000).ToString();
            //        fnb.FreqStop = (freqValue.Great / 1000000).ToString();

            //        //fnb.text_FreqStart.Text = (freqValue.Little / 1000000).ToString();
            //        //fnb.text_FreqStop.Text = (freqValue.Great / 1000000).ToString();
            //        //fnb.text_BandWidth.Text = (Convert.ToDouble(fps.FreqBand.Split('/')[0]) / 1000).ToString();

            //        fnb.reAnalysisFreqRange.Visibility = System.Windows.Visibility.Collapsed;
            //        fnb.delete_freqNavBar.Visibility = System.Windows.Visibility.Collapsed;
            //        fnb.BandWidth = (Convert.ToDouble(fps.FreqBand.Split('/')[0]) / 1000).ToString();
            //        fnb.DataContext = fnb;
            //        nbg.Items.Add(fnb);
            //        nbg.Click += new EventHandler(NavBarGroupManager_Click);
            //        nbg.IsExpanded = false;
            //        navBar.Groups.Add(nbg);
            //    }
            //}
            //else
            //{
            //    //NavBarGroup nbg = new NavBarGroup();
            //    //nbg.Header = "80--107 MHz";
            //    //FreqNavBar fnb = new FreqNavBar();
            //    //fnb.text_FreqStart.Text = "80";
            //    //fnb.text_FreqStop.Text = "107";
            //    //fnb.text_BandWidth.Text = "100";
            //    //fnb.reAnalysisFreqRange.Visibility = System.Windows.Visibility.Collapsed;
            //    //fnb.delete_freqNavBar.Visibility = System.Windows.Visibility.Collapsed;
            //    //fnb.MeasureId = "Measure20160830162310";
            //    //nbg.Items.Add(fnb);
            //    //nbg.Click += new EventHandler(NavBarGroupManager_Click);
            //    //nbg.IsExpanded = false;
            //    //navBar.Groups.Add(nbg);

            //    //NavBarGroup nbg1 = new NavBarGroup();
            //    //nbg1.Header = "80--120 MHz";
            //    //FreqNavBar fnb1 = new FreqNavBar();
            //    //fnb1.text_FreqStart.Text = "80";
            //    //fnb1.text_FreqStop.Text = "107";
            //    //fnb1.text_BandWidth.Text = "100";
            //    //fnb1.reAnalysisFreqRange.Visibility = System.Windows.Visibility.Collapsed;
            //    //fnb1.delete_freqNavBar.Visibility = System.Windows.Visibility.Collapsed;
            //    //fnb1.MeasureId = "Measure20160830162310";
            //    //nbg1.Items.Add(fnb1);
            //    //nbg1.Click += new EventHandler(NavBarGroupManager_Click);
            //    //nbg1.IsExpanded = false;
            //    //navBar.Groups.Add(nbg1);
            //}
            PlaceFreqPlan[] freqPlanList = GetActivityFreqPlanInfoSource(activityPlaceInfo.Guid);
            if (freqPlanList.Length > 0)
            {
                for (int i = 0; i < freqPlanList.Length; i++)
                {
                    PlaceFreqPlan fps = freqPlanList[i];
                    NavBarGroup   nbg = new NavBarGroup();
                    //AT_BC.Data.Range<double> freqValue = fps.FreqValue;
                    //nbg.Header = fps.FreqPlanName + "    " + freqValue.Little / 1000000 + "--" + freqValue.Great / 1000000 + "MHz";
                    nbg.Header = fps.Name;
                    FreqNavBar fnb = new FreqNavBar();
                    fnb.FreqStart = fps.MHzFreqFrom.ToString();
                    fnb.FreqStop  = fps.MHzFreqTo.ToString();

                    //fnb.text_FreqStart.Text = (freqValue.Little / 1000000).ToString();
                    //fnb.text_FreqStop.Text = (freqValue.Great / 1000000).ToString();
                    //fnb.text_BandWidth.Text = (Convert.ToDouble(fps.FreqBand.Split('/')[0]) / 1000).ToString();

                    fnb.reAnalysisFreqRange.Visibility = System.Windows.Visibility.Collapsed;
                    fnb.delete_freqNavBar.Visibility   = System.Windows.Visibility.Collapsed;
                    fnb.BandWidth   = fps.kHzBand.ToString();
                    fnb.DataContext = fnb;
                    nbg.Items.Add(fnb);
                    nbg.Click     += new EventHandler(NavBarGroupManager_Click);
                    nbg.IsExpanded = false;
                    navBar.Groups.Add(nbg);
                }
            }
            else
            {
                //NavBarGroup nbg = new NavBarGroup();
                //nbg.Header = "80--107 MHz";
                //FreqNavBar fnb = new FreqNavBar();
                //fnb.text_FreqStart.Text = "80";
                //fnb.text_FreqStop.Text = "107";
                //fnb.text_BandWidth.Text = "100";
                //fnb.reAnalysisFreqRange.Visibility = System.Windows.Visibility.Collapsed;
                //fnb.delete_freqNavBar.Visibility = System.Windows.Visibility.Collapsed;
                //fnb.MeasureId = "Measure20160830162310";
                //nbg.Items.Add(fnb);
                //nbg.Click += new EventHandler(NavBarGroupManager_Click);
                //nbg.IsExpanded = false;
                //navBar.Groups.Add(nbg);

                //NavBarGroup nbg1 = new NavBarGroup();
                //nbg1.Header = "80--120 MHz";
                //FreqNavBar fnb1 = new FreqNavBar();
                //fnb1.text_FreqStart.Text = "80";
                //fnb1.text_FreqStop.Text = "107";
                //fnb1.text_BandWidth.Text = "100";
                //fnb1.reAnalysisFreqRange.Visibility = System.Windows.Visibility.Collapsed;
                //fnb1.delete_freqNavBar.Visibility = System.Windows.Visibility.Collapsed;
                //fnb1.MeasureId = "Measure20160830162310";
                //nbg1.Items.Add(fnb1);
                //nbg1.Click += new EventHandler(NavBarGroupManager_Click);
                //nbg1.IsExpanded = false;
                //navBar.Groups.Add(nbg1);
            }
        }
        /// <summary>
        /// 查询周围台站
        /// </summary>
        private void QuerySurroundStation(PlaceFreqPlan[] freqs, EventWaitHandle[] waitHandles)
        {
            List <StationInfo> surroundstation = new List <StationInfo>();

            for (int i = 0; i < freqs.Length; i++)
            {
                PlaceFreqPlan freqplan = freqs[i];

                string freqRange = (freqplan.MHzFreqFrom).ToString() + ";" + (freqplan.MHzFreqTo).ToString();

                #region 真实参数

                Point[] points = new Point[freqplan.RangePointList.Count];
                for (int p = 0; p < freqplan.RangePointList.Count; p++)
                {
                    GeoPoint point = freqplan.RangePointList[p];
                    points[p] = new Point()
                    {
                        X = point.Longitude,
                        Y = point.Latitude
                    };
                }

                Point leftTop = new Point()
                {
                    X = freqplan.LongitudeRange.Little,
                    Y = freqplan.LatitudeRange.Great
                };

                Point RightBottom = new Point()
                {
                    X = freqplan.LongitudeRange.Great,
                    Y = freqplan.LatitudeRange.Little
                };

                #endregion

                #region 测试数据

                //Point[] points = new Point[5]
                //{
                //    new Point(){X=106,Y=36},
                //    new Point(){X=110,Y=36},
                //    new Point(){X=110,Y=30},
                //    new Point(){X=106,Y=30},
                //    new Point(){X=106,Y=36},
                //};

                //Point leftTop = new Point()
                //{
                //    X = 106,
                //    Y = 36
                //};

                //Point RightBottom = new Point()
                //{
                //    X = 110,
                //    Y = 30
                //};

                #endregion

                QueryStationData(points, leftTop, RightBottom, freqRange, waitHandles[i], stations =>
                {
                    lock (locked)
                    {
                        StationItemsSource.AddRange(stations);
                        //ActivitySurroundStation activitystation = new ActivitySurroundStation();
                        //activitystation.ActivityId = this.CurrentActivityPlace.ActivityGuid;
                        //activitystation.FreqPlan = freqplan;
                        //activitystation.PlaceId = this.CurrentActivityPlace.Guid;
                        //ActivityStationItemsSource.Add(activitystation);
                    }
                });
            }
        }