Beispiel #1
0
 private void ConvertBLToXY(RelayNode relayNode)
 {
     double num;
     double num2;
     this.m_GeoInfo.TransformBLToXY(relayNode.Latitude, relayNode.Longitude, out num, out num2);
     relayNode.X = num;
     relayNode.Y = num2;
 }
Beispiel #2
0
 protected override void Add(RelayNode rn)
 {
     if (!base.m_GroupKeys.ContainsKey(string.Empty))
     {
         base.m_GroupKeys.Add(string.Empty, new List<short>());
     }
     base.m_GroupKeys[string.Empty].Add(rn.ID);
 }
Beispiel #3
0
 private void ConvertXYToBL(RelayNode relayNode)
 {
     double num;
     double num2;
     this.m_GeoInfo.TransformXYToBL(relayNode.X, relayNode.Y, out num, out num2);
     relayNode.Latitude = num;
     relayNode.Longitude = num2;
 }
Beispiel #4
0
 private LTECellCollection m_LteCellCollection;//add by lw 3.31
 public RelayNodeDesc(CollectionsModel collModel, RelayNode relayNode, GeoInfoObserver geoInfo)
 {
     this.m_CollectionsModel = collModel;
     this.m_Entity = relayNode;
     this.m_RNCollection = collModel.RNColl;
     this.m_GeoInfo = geoInfo;
     this.m_BtsCollection = collModel.BtsEquipColl;
     this.m_LteCellCollection = collModel.LTECellColl;//add by lw 3.31
 }
Beispiel #5
0
 public static RelayNode CreatRelayNode()
 {
     RelayNode relayNode = new RelayNode();
     relayNode.X = 110;
     relayNode.Y = 110;
     BtsEquipment Equipment = new BtsEquipment();
     relayNode.Equipment = Equipment;
     RelayCell relayCell1 = MockLTECell.CreatRelayCell();
     relayCell1.ParentRN = relayNode;
     relayCell1.Tran.Parent = relayCell1.ParentRN;
     //relayCell1.Parent = relayNode;
     relayNode.RCList.Add(relayCell1);
     return relayNode;
 }
Beispiel #6
0
 public CarrierVGridModule(CollectionsModel model, Transceiver tranceiver, NetWorkType netType,RelayNode rn)
 {
     this.m_Parent = tranceiver;
     this.m_CollecitonModel = model;
     this.m_NetType = netType;
     if (rn!=null)
     {
         this.GenerateVGridModelRelayCell(model, rn);
         this.m_ParentRN = rn;
     }
     this.InitCarrierModelCreateDic();
     this.InitAddNewCarrierCreateDic();
     if (rn !=null)
     {
         m_CarrierVModel = new CarrierVGridModelRelayCell(model, rn);
     }
     else
     {
         this.m_CarrierVModel = this.carrierModelCreateDic[netType](model, tranceiver);
     }            
 }
Beispiel #7
0
 /// <summary>
 /// relayTrans¹¹Ô캯Êý
 /// </summary>
 /// <param name="rn"></param>
 /// <param name="antCofigExList"></param>
 public LTETransceiverEX(RelayNode rn, List<AntConfigEx> antCofigExList, Transceiver tran)
 {
     //Transceiver tran = new Transceiver();
     //tran.ID = id;
     this.m_Transceiver = tran;
     foreach (RelayCell cell in rn.RCList)
     {
         RelayCellEx item = new RelayCellEx(cell, antCofigExList);
         this.m_RelayCellExList.Add(item);
         IACell iaCell = cell;
         this.m_Transceiver.Cells.Add(iaCell);
     }
     this.InitLTETransExBound(antCofigExList);
     int count = antCofigExList.Count;
     this.m_AntLinkLoss=new double[count][];
     this.m_RatioArr = new double[count];
     for (int i = 0; i < count; i++)
     {
         this.m_RatioArr[i] = antCofigExList[i].AntConfig.TxPowerRatio;
         this.m_AntLinkLoss[i] = new double[2];
     }
 }
Beispiel #8
0
 private void ConfigSubFrames(RelayNode rn)
 {
     m_AccessHelper.OpenConnection();
     string commandText = "SELECT * FROM SubFrameType";
     using (DataTable table = m_AccessHelper.ExecuteDataset(commandText, null))
     {
         for (int i = 0; i < table.Rows.Count; i++)
         {
             int j = int.Parse(table.Rows[i]["ID"].ToString()) - 1;
             rn.SubFrameMatrix[j, 0] = int.Parse(table.Rows[i]["SubFrame_1"].ToString());
             rn.SubFrameMatrix[j, 1] = int.Parse(table.Rows[i]["SubFrame_2"].ToString());
             rn.SubFrameMatrix[j, 2] = int.Parse(table.Rows[i]["SubFrame_3"].ToString());
             rn.SubFrameMatrix[j, 3] = int.Parse(table.Rows[i]["SubFrame_4"].ToString());
             rn.SubFrameMatrix[j, 4] = int.Parse(table.Rows[i]["SubFrame_5"].ToString());
             rn.SubFrameMatrix[j, 5] = int.Parse(table.Rows[i]["SubFrame_6"].ToString());
             rn.SubFrameMatrix[j, 6] = int.Parse(table.Rows[i]["SubFrame_7"].ToString());
             rn.SubFrameMatrix[j, 7] = int.Parse(table.Rows[i]["SubFrame_8"].ToString());
             rn.SubFrameMatrix[j, 8] = int.Parse(table.Rows[i]["SubFrame_9"].ToString());
             rn.SubFrameMatrix[j, 9] = int.Parse(table.Rows[i]["SubFrame_10"].ToString());
         }
     }
 }
Beispiel #9
0
 public void SetParent(RelayNode rn)
 {
     this.ParentRN = rn;
     if (!rn.RCList.Contains(this))
     {
         rn.RCList.Add(this);
     }
 }
Beispiel #10
0
 public RelayCell(RelayNode parent)
     : this()
 {
     m_parentRN = parent;
     m_RCToCellAnt.Latitude = parent.Latitude;
     m_RCToCellAnt.Longitude = parent.Longitude;
     m_RCToCellAnt.DX = (float)parent.X;
     m_RCToCellAnt.DY = (float)parent.Y;
 }
Beispiel #11
0
 protected override string GetValue(RelayNode rn)
 {
     return string.Empty;
 }
Beispiel #12
0
        private void GetRelayNodeList(AlloteAddRelayNodeEventArgs args, List<RelayNode> rnList)
        {
            List<string> candidateSiteName = new List<string>();
            List<short> candidateSiteID = new List<short>();
            List<RelayCell> commitCarrierList = new List<RelayCell>();
            foreach (RelayNode rn in m_RNCollection.RNList)
            {
                candidateSiteName.Add(rn.Name);
            }
            List<double> listX = args.XList;
            List<double> listY = args.YList;
            for (int i = 0; i < listX.Count; i++)
            {
                double num4;
                double num5;
                LTECell parentCell;
                if (m_Model.LTECellColl.CellList == null || m_Model.LTECellColl.CellList.Count == 0)
                {
                    return ;
                }
                else
                {
                    List<LTECell> nearestLTECellList = new List<LTECell>();
                    float distance = float.MaxValue;
                    LTECell nearestLTECell = new LTECell();
                    foreach (LTECell cell in m_Model.LTECellColl.CellList)
                    {
                        double dic = Math.Pow((cell.Parent.X - listX[i]), 2) + Math.Pow((cell.Parent.Y - listY[i]), 2);
                        if (dic < distance)
                        {
                            distance = (float)dic;
                            nearestLTECell = cell;
                        }
                    }
                    foreach (LTECell cell in m_Model.LTECellColl.CellList)
                    {
                        double dic = Math.Pow((cell.Parent.X - listX[i]), 2) + Math.Pow((cell.Parent.Y - listY[i]), 2);
                        if (Math.Abs(dic - distance) / distance < 0.0001)
                        {
                            nearestLTECellList.Add(cell);
                        }
                    }
                    List<double> angleList = new List<double>();
                    foreach (LTECell cell in nearestLTECellList)
                    {
                        double rc_Angle = CalcAngle(listX[i] - cell.Parent.X, listY[i] - cell.Parent.Y);
                        double intersectionAngle = Math.Abs(rc_Angle - cell.Parent.AntConfiguration[0].Azimuth);
                        if (intersectionAngle > 180)
                        {
                            intersectionAngle = 360 - intersectionAngle;
                        }
                        angleList.Add(intersectionAngle);
                    }
                    LTECell[] cellArray = new LTECell[angleList.Count];
                    double[] angleArray = new double[angleList.Count];
                    for (int j = 0; j < angleList.Count; j++)
                    {
                        cellArray[j] = nearestLTECellList[j];
                        angleArray[j] = angleList[j];
                    }
                    Array.Sort(angleArray, cellArray);
                    parentCell = cellArray[0];

                }
                RelayNode rn = new RelayNode();
                rn.X = listX[i];
                rn.Y = listY[i];
                this.m_GeoObserver.TransformXYToBL(listX[i], listY[i], out num4, out num5);
                rn.Latitude = num4;
                rn.Longitude = num5;
                rn.Altitude = this.m_GeoObserver.GetDTM(rn.X, rn.Y);//获得海拔高度
                rn.Name = this.GetNewRelayNodeName(candidateSiteName);
                rn.Active = true;
                rn.Visible = true;
                rn.Equipment = this.m_BTSCol.BtsEquipmentList[0];
                rn.Parent = parentCell;
                rn.ID = this.GetNewRelayNodeID(candidateSiteID);
                parentCell.RNList.Add(rn);
                candidateSiteName.Add(rn.Name);
                candidateSiteID.Add(rn.ID);
                rnList.Add(rn);
                RelayCell rc = new RelayCell(rn);
                rc.Name = this.m_RCCollection.GetValidCellName(rn.Name);
                commitCarrierList.Add(rc);
                this.m_RCCollection.AddRelayCell("GIS", commitCarrierList, rn);
                rc.Reception = this.m_ReceptionEquip[0];
                rc.CellToUEAnt.OutdoorAntenna = m_Antenna.FindAntennaByName(m_tplRelayCol.TplRC.AntennaName);
                rc.RCToCellAnt.OutdoorAntenna = m_Antenna.FindAntennaByName(m_tplRelayCol.TplRN.AntennaName);
                PropModelConfig item = new PropModelConfig();
                item.CalcRadius = (int)(m_tplRelayCol.TplRC.MainCalcRidius);
                item.CalcResolution = (int)(m_tplRelayCol.TplRC.MainModelResolution);
                item.PropModelID = m_tplRelayCol.TplRC.MainPropagModelID;
                rc.FreqBand = rc.ParentRN.Parent.FreqBand;
                rc.ChannelIndex = rc.FreqBand.AvailableChIndexList[0];
                rc.PropModels.Clear();
                rc.PropModels.Add(item);
                rc.RelayUEPropModelConfig = rc.PropModels[0];
                commitCarrierList.Clear();
            }
        }
Beispiel #13
0
 //Add by lw 0228
 private ICarrierVGridModel GenerateVGridModelRelayCell(CollectionsModel model, RelayNode rn)
 {
     ICarrierVGridModel model2 = new CarrierVGridModelRelayCell(model, rn);
     this.m_FreqBandColl = model.LteFreBandCol;
     return model2;
 }
Beispiel #14
0
 public void ModifyRelayNode(object sender, RelayNode modRelayNode)
 {
     List<RelayNode> list = new List<RelayNode>();
     list.Add(modRelayNode);
     this.ModifyRelayNode(sender, list);
 }
Beispiel #15
0
 private string SetRelayNodeLabelString(RelayNode rn)
 {
     if (this.m_PropLabel == null)
     {
         return string.Empty;
     }
     StringBuilder builder = new StringBuilder();
     Type type = typeof(RelayNode);
     foreach (string str in this.m_PropLabel.SiteLabelPropList)
     {
         PropertyInfo property = type.GetProperty(str);
         builder.Append(property.GetValue(rn, null));
         builder.Append("\n");
     }
     return builder.ToString().Trim(new char[] { '\n' });
 }
Beispiel #16
0
 protected override void Modify(RelayNode modifyRelay)
 {
 }
Beispiel #17
0
 public RelayNodeDesc(CollectionsModel collModel, RelayNode relayNode, GeoInfoObserver geoInfo, List<string> excludeNames)
     : this(collModel, relayNode, geoInfo)
 {
     this.m_newNames = excludeNames;
 }
Beispiel #18
0
 public void DeleteRN(object sender, RelayNode rn)
 {
     List<RelayNode> list = new List<RelayNode>();
     list.Add(rn);
     this.DeleteRN(sender, list);
 }
Beispiel #19
0
 /// <summary>
 /// 获取relayTrans信息
 /// </summary>
 /// <param name="resolution"></param>
 /// <param name="transceiverColl"></param>
 /// <param name="rn"></param>
 private void GetOneRelayTransInfo(ref List<Transceiver> allTran,float resolution, ref LTETransceiverExCollection transceiverColl, RelayNode rn,short id)
 {
     //
     if (this.m_GeoInfo.GetValueByGeoXYPoint(rn.X, rn.Y, DemDataType.Height) > -32768)
     {
         List<AntConfigEx> antExList = new List<AntConfigEx>();
         bool flag=false;
         foreach (IACell cell in rn.RCList)
         {
             float maxCalcRadius = this.GetMaxCalcRadius(cell);
             RelayCell relayCell = (RelayCell)cell;
             flag |= !float.IsNegativeInfinity(relayCell.DlActualTxPower);
             if (relayCell.Active & flag)
             {
                 this.m_AntPoint.X = rn.X + relayCell.CellToUEAnt.DX;
                 this.m_AntPoint.Y = rn.Y + relayCell.CellToUEAnt.DY;
                 this.m_AntLeftTop.X = this.m_AntPoint.X - maxCalcRadius;
                 this.m_AntLeftTop.Y = this.m_AntPoint.Y + maxCalcRadius;
                 this.m_AntRightBottom.X = this.m_AntPoint.X + maxCalcRadius;
                 this.m_AntRightBottom.Y = this.m_AntPoint.Y - maxCalcRadius;
                 if (!(!this.IsAntInCalcZone() || this.IsExistAntEx(relayCell.CellToUEAnt.AntennaID, antExList)))
                 {
                     antExList.Add(this.GetIndexCoodinateOfAnt(relayCell.CellToUEAnt, resolution));
                 }
             }
             
         }
         if (antExList.Count > 0)
         {
             Transceiver tran = new Transceiver();
             tran.ID = id;
             tran.Name = rn.Name;
             allTran.Add(tran);
             LTETransceiverEX item = new LTETransceiverEX(rn, antExList, tran);
             transceiverColl.LTETransceiverEXList.Add(item);
         }
     }
 }
Beispiel #20
0
 public void AddRelayNode(object sender, RelayNode newRN)
 {
     List<RelayNode> list = new List<RelayNode>();
     list.Add(newRN);
     this.AddRelayNode(sender, list);
 }
Beispiel #21
0
 public void SetRelayNodeByTemplate(RelayNode newRN)
 {
     newRN.Visible = this.Visible;
     //Todo属性各值
     newRN.RxNumber = this.RxAntennasPorts;
     newRN.TxNumber = this.TxAntennasPorts;
 }
Beispiel #22
0
 //Added by liangwenli 20110307
 public static void GetOneRelay(string name, CollectionsModel model)
 {
     RNCollection rnColl = model.RNColl;
     List<int> rnIDList = new List<int>();
     RelayNode rnByName = new RelayNode();
     if (rnColl.GetRelayNodeByName(name) != null)
     {
         rnByName = rnColl.GetRelayNodeByName(name);
         int iD = rnByName.ID;
         rnIDList.Add(iD);
     }
     ViewNetEntityEventArgs args = new ViewNetEntityEventArgs(null, null, null,rnIDList);
     INetEntity gisINetEntity = model.GisINetEntity;
     if (rnIDList.Count > 0)
     {
         GeoXYPoint geoXYPoiny = new GeoXYPoint(rnByName.X, rnByName.Y);
         gisINetEntity.MoveMapTo(geoXYPoiny);
         gisINetEntity.MapRedraw();
     }
     else
     {
         gisINetEntity.MapRedraw();
     }
 }
Beispiel #23
0
 public static GeoSite GetGeoNESite(RelayNode rn)
 {
     GeoSite site2 = new GeoSite(rn.X, rn.Y, rn.Longitude, rn.Latitude);
     site2.Active = rn.Active;
     site2.ID = rn.ID;
     site2.Name = rn.Name;
     site2.Label = rn.Label;
     site2.Visible = rn.Visible;
     site2.IsRelay = true;
     site2.ParentCell = Huawei.UNet.NE.Interface.LTECell.GetGeoNECell(rn.Parent.Parent);
     return site2;
 }
Beispiel #24
0
 public void CopyFrom(RelayNode rn)
 {
     base.Name = rn.Name;
     base.Comments = rn.Comments;
     this.Altitude = rn.Altitude;
     base.Latitude = rn.Latitude;
     base.Longitude = rn.Longitude;
     base.Active = rn.Active;
     base.Selected = rn.Selected;
     base.Visible = rn.Visible;
     base.X = rn.X;
     base.Y = rn.Y;
     this.Equipment = rn.Equipment;
     this.RNID = rn.RNID;
     this.RCList = rn.RCList;
     this.Parent = rn.Parent;
     this.RbNum = rn.RbNum;
 }
Beispiel #25
0
 public INamedEntity RNToNe(RelayNode rn)
 {
     return rn;
 }