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); } }
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); }
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(); } }
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 }; }
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); } }
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); } }); } }