/// <summary> /// 注入天线信息 /// </summary> /// <param name="Antennas">天线信息</param> /// <param name="RefLteNode">新生成的,EDS中的基站信息</param> private static void BuildAntennaInfo(List <AirComAntennaType> Antennas, ref LTENodeType RefLteNode) { #region Antennas List <LTEAntennaType> _Antennas = new List <LTEAntennaType>(); for (int index = 0; index < Antennas.Count; index++) { AirComAntennaType Item = Antennas[index]; LTEAntennaType _Antenna = new LTEAntennaType(); _Antenna.Index = index + 1; //可以采用序列的索引吗?可以 #region AbsLocation // 无异议 _Antenna.AbsLocation = new LocationTypeType() { Longitude = Item.Lng, LongitudeSpecified = true, Latitude = Item.Lat, LatitudeSpecified = true }; #endregion _Antenna.Azimuth = Item.Azimuth; _Antenna.AzimuthSpecified = true; _Antenna.ElectricalDownTilt_RO = Item.ElectricalDownTilt;//界面输入的是物理的?还是电子的?//无用,填0 @20150825确认 _Antenna.ElectricalDownTilt_ROSpecified = true; _Antenna.Height = Item.Height; _Antenna.HeightSpecified = true; //_Antenna.iid = Item //示例XML中没有 _Antenna.MechanicalDownTiltSpecified = true; _Antenna.MechanicalDownTilt = Item.MechanicalDownTilt; #region AntennaPatternType //_Antenna.AntennaPatternType = new AntennaPatternType() //{ // iid = Antennas[index].AntennaTypeName //就是天线型号 Default_D,Defaut_F //}; //这个值从哪里获取? _Antenna.AntennaPatternType = new IDType() { iid = Antennas[index].AntennaTypeName }; #endregion #region PrimaryModel,天线参数中体现 _Antenna.PrimaryModel = new PredictionModelReferenceType() { ModelType = new IDType() { iid = Antennas[index].ModelType //从哪里获取?传播模型由用户在下拉框中选择;配置文件中可配置选项; }, RadiusKM = Antennas[index].RadiusKm, //是覆盖半径吗?1,2,3,5,由用户下拉框中选择,默认为2; RadiusKMSpecified = true, ResolutionMetres = Antennas[index].ResolutionMetres, //计算精度,以米为单位,默认为10M;用户可选;扇区添加天线时,需选择计算精度5,10,20 ResolutionMetresSpecified = true }; #endregion #region Feeders List <LTECellFeederType> _LteCellFeeders = new List <LTECellFeederType>(); LTECellFeederType _fe = new LTECellFeederType(); //以下参数坐哪里获取? _fe.FeederType = new IDType() { iid = "Unknown" }; //_fe.LTECellID = (index + 1).ToString();//基站iid-天线索引号(_Antenna.Index) //_fe.LTECellID =string.Format("{0}-{1}" ,RefLteNode.iid ,index+1);//扇区ID,20151126郭琴确认//20160829根据郭琴要求,修改两种对应关系,详见 _fe.LTECellID = Item.Celliid; _fe.Length = 0; _fe.LengthSpecified = true; _fe.DLGain = 0; _fe.DLGainSpecified = true; _fe.MHAGain = 0; _fe.MHAGainSpecified = true; _fe.MHAType = new IDType() { iid = "Unknown" }; _fe.ULGain = 0; _fe.ULGainSpecified = true; _fe.Noise = 0; _fe.NoiseSpecified = true; _fe.OtherLosses = 0; _fe.OtherLossesSpecified = true; _LteCellFeeders.Add(_fe); _Antenna.Feeders = _LteCellFeeders.ToArray(); #endregion _Antennas.Add(_Antenna); } RefLteNode.Antennas = _Antennas.ToArray(); #endregion }
static void Main(string[] args) { try { LTECellType _lte = new LTECellType(); LTENodeType _lteNode = new LTENodeType(); LTEAntennaType _nType = new LTEAntennaType(); LTECellFeederType feeder = new LTECellFeederType(); //_nType.Feeders #region 序列化示例 RootEntityType Root1 = new RootEntityType(); Root1.iid = "HL - D3900256154PT"; Root1.bvid = "LTE_HUNAN"; Root1.Security = null; RootEntityType Root2 = new RootEntityType(); Root2.iid = "HL-D3900256155PT"; Root2.bvid = "LTE_HUNAN"; XmlSerializerNamespaces nsMgr = new XmlSerializerNamespaces(); //XmlNamespaceManager nsMgr = new XmlNamespaceManager();//这一步实例化一个xml命名空间管理器 nsMgr.Add("umts70", "http://www.aircominternational.com/Schemas/UMTS/2010/08"); nsMgr.Add("gsm", "http://www.aircominternational.com/Schemas/GSM/2009/09"); nsMgr.Add("eqp", "http://www.aircominternational.com/Schemas/Equipment/2009/09"); nsMgr.Add("umts", "http://www.aircominternational.com/Schemas/UMTS/2010/07"); nsMgr.Add("tra70", "http://www.aircominternational.com/Schemas/Connect/2010/08"); nsMgr.Add("co", "http://www.aircominternational.com/Schemas/Common/2009/07"); nsMgr.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance"); nsMgr.Add("co70", "http://www.aircominternational.com/Schemas/Common/2010/08"); nsMgr.Add("gsm70", "http://www.aircominternational.com/Schemas/GSM/2010/08"); nsMgr.Add("util", "http://www.aircominternational.com/contract/Util/2009/10"); nsMgr.Add("config", "http://www.aircominternational.com/Schemas/Configuration/2010/08"); nsMgr.Add("tra", "http://www.aircominternational.com/Schemas/Connect/2009/09"); nsMgr.Add("ct", "http://www.aircominternational.com/Schemas/CommonTypes/2009/05"); nsMgr.Add("lte", "http://www.aircominternational.com/Schemas/LTE/2010/08"); nsMgr.Add("eqp70", "http://www.aircominternational.com/Schemas/Equipment/2010/08"); nsMgr.Add("umts2", "http://www.aircominternational.com/Schemas/UMTS/2009/05"); //LTECellType Root1 = new LTECellType(); //Root1.iid = "HL - D3900256154PT"; //Root1.bvid = "LTE_HUNAN"; //LTECellType Root2 = new LTECellType(); //Root2.iid = "HL-D3900256155PT"; //Root2.bvid = "LTE_HUNAN"; List <RootEntityType> tt = new List <RootEntityType>(); tt.Add(Root1); tt.Add(Root2); //JLIB.CSharp.JFileExten.ToXML((RootEntityType)Lte, "d:\\TestLte.xml"); //XmlRootAttribute rootAtrAttribute = new XmlRootAttribute("ArrayOfRootEntityType"); XmlAttributeAttribute aa = new XmlAttributeAttribute("type", typeof(string)); aa.Namespace = "http://www.w3.org/2001/XMLSchema-instance"; aa.AttributeName = typeof(LocationObjectv70Type).ToString(); XmlSerializer sr = new XmlSerializer(typeof(List <RootEntityType>)); XmlWriterSettings settings = new XmlWriterSettings() { Indent = true, IndentChars = ("\t\t"), NamespaceHandling = NamespaceHandling.OmitDuplicates, NewLineHandling = NewLineHandling.Entitize //NewLineOnAttributes = true }; // Simply dump dataset to xml file on disk... using (XmlWriter wr = XmlWriter.Create("d:\\TestLte.xml", settings)) { sr.Serialize(wr, tt, nsMgr); } #endregion #region 创建示例 //EDSDemoProxy.EDSClient client = new SimpleEDSQuery.EDSDemoProxy.EDSClient("EDSWCFNetTCPEndPoint"); //client.Open(); //List<RootEntityType> datas = new List<RootEntityType>(); //var Entity = new LTENodeType(); //Entity.iid = ""; //Entity.bvid = ""; //Entity.PLMN = new IDType() //{ // iid = "LTE_HUNAN" //}; ////Entity.Cells; ////Entity.Antennas ////Entity.Carriers; //datas.Add(Entity); //#region LTE CELL //LTECellType Cell = new LTECellType(); //#endregion //CreateRequestType CreateParams = new CreateRequestType(); //var CreateItems = new CreateItemType[] //{ // new CreateItemType() // { // itemID = new Guid(), // objectType = QueryableTypes.LTENodeType, // NewData = datas.ToArray() // } //}; //CreateParams.CreateItems = CreateItems; //CreateParams.CreateItems = CreateItems; //var Result = client.Create(CreateParams); #endregion #region wjj删除示例 // var _DelItems = new List<DeleteItemType>(); // #region 添加删除项 // var _DelItem = new DeleteItemType(); // _DelItem.objectType = QueryableTypes.LocationObjectv70Type; // #region 删除条件 // var selType = new QrySelectType(); // var objs = new QrySimpleListType(); // selType.Item = objs; // #region 删除对像集合 // List<ListItemType> Itemss = new List<ListItemType>(); // var obj = new ListItemType() // { // bvid = "LTE_HUNAN", // iid = "衡阳常宁市六联HL-D3900256154PT" // }; // Itemss.Add(obj); // var obj2 = new ListItemType() // { // bvid = "LTE_HUNAN", // iid = "衡阳常宁市双湖HL-D3900256155PT" // }; // Itemss.Add(obj2); // #endregion //objs.Items = Itemss.ToArray(); // #endregion // _DelItem.Select = selType; // _DelItems.Add(_DelItem); // #endregion // var _QrySel = new QrySelectType(); // DeleteRequestType DelParams = new DeleteRequestType(); // DelParams.DeleteItems = _DelItems.ToArray(); // EDSDemoProxy.EDSClient client = new SimpleEDSQuery.EDSDemoProxy.EDSClient("EDSWCFNetTCPEndPoint"); // client.Open(); // client.Delete(DelParams); #endregion #region 自带查询示例 //EDSDemoProxy.EDSClient client = new SimpleEDSQuery.EDSDemoProxy.EDSClient("EDSWCFNetTCPEndPoint"); //client.Open(); //var QueryComm = new QrySelectType() //{ // #region QrySelectType // Item = new QrySimpleTextType() // { // // 查询表达式 --生成任意多边形指令 // Query = string.Format("iid = \"{0}\" and bvid = \"{1}\"", "SF03003A_11", "West") // } // #endregion //}; //var QueryItemsInfo = new QueryItemType[] //{ // new QueryItemType() // { // itemID = Guid.NewGuid(), // Inner request id for an item // // data type to query against // objectType = ty, // Select = QueryComm // } //}; //QueryRequestType qry = new QueryRequestType() //{ // itemID = Guid.NewGuid(), // Outer request id // QueryItems = QueryItemsInfo //}; //// sends query //QueryResponseType data = client.Query(qry); //SerializeResultToDisk(data, ty); #endregion } catch (Exception ex) { JLog.Instance.Error(ex.Message, MethodBase.GetCurrentMethod().Name, MethodBase.GetCurrentMethod().Module.Name); } }