//数据的预处理 private void prepareData(string configFile) { XML xml = new XML(configFile); DB db = new DB("Configuration/Database"); try { #region ;从 配置文件 获取 数据库配置信息 ;并连接数据库 if (db.initialize(xml) == false) { Console.WriteLine("初始化配置文件错误!"); return; } if (db.GetConnection() == null) { Console.WriteLine("连接数据库错误!"); return; } #endregion slist = new SectorList("Configuration/SqlInitSectorInfoof37900", "Configuration/SqlInitSectorInfoof38098", "Configuration/SqlInitInterfInfo"); #region ;从 配置文件 获取 小区列表 各项信息; if (slist.initialize(db, xml) == false) { Console.WriteLine("初始化数据错误!"); return; } ancestor = new Individual(slist.sectorList.Count); ancestorori = new Individual(slist.sectorList.Count); for (int i = 0; i < slist.sectorList.Count; i++) { ancestor.gene[i] = slist.sectorList[i].FCN; ancestorori.gene[i] = slist.sectorList[i].FCN; } #endregion } catch (Exception e) { Console.WriteLine("PREPARE ERR: {0}!", e.Message); } finally { db.close(); xml.Dispose(); } }
/* 初始化 小区、PCI 基本信息*/ private void prepareData(string configFile, string SSSThrLevel) { XML xml = new XML(configFile); DB db = new DB("Configuration/Database"); try { #region ;从 配置文件 获取 数据库配置信息 ;并连接数据库 if (db.initialize(xml) == false) { Console.WriteLine("初始化配置文件错误!"); return; } if (db.GetConnection() == null) { Console.WriteLine("连接数据库错误!"); return; } #endregion pciInfo = new PCIinfo("Configuration/pciInfo", "Configuration/SqlInitSSSCorrelation", "Configuration/sssThrInfo", SSSThrLevel); #region ;从 配置文件 获取 SSS相关系数 信息; if (pciInfo.initSSSInfo(db, xml) == false) return; #endregion #region ;从 配置文件 获取 不同类型小区 候选PCI bool r1 = pciInfo.initPCIInfo(xml, "INDOOR", out indoor); bool r2 = pciInfo.initPCIInfo(xml, "OUTDOOR", out outdoor); bool r3 = pciInfo.initPCIInfo(xml, "SPECIAL", out special); #endregion /////37900 //sList = new SectorList("Configuration/SqlInitSectorInfoTest37900", "Configuration/SqlInitClusterInfo", "Configuration/SqlInitOtherSectors_1_37900", "Configuration/SqlInitOtherSectors_2_37900", // "Configuration/SqlInitOtherSectors_3", "Configuration/SqlInitMergeInfo_37900", "Configuration/SqlInitViroInfo", // "Configuration/SqlInitKdist", "Configuration/SqlInitAvgDist", "Configuration/SqlInitInterfInfo", // "Configuration/SqlInitFirstAdjection", "Configuration/SqlInitSecondAdjection", "Configuration/SqlInitFirstNearSector", // "Configuration/SqlInitOverlapInfo", "Configuration/SqlInitLayer_OverlapInfo"); /////38350 //sList = new SectorList("Configuration/SqlInitSectorInfoTest38350", "Configuration/SqlInitClusterInfo", "Configuration/SqlInitOtherSectors_1_38350", "Configuration/SqlInitOtherSectors_2_38350", // "Configuration/SqlInitOtherSectors_3", "Configuration/SqlInitMergeInfo_38350", "Configuration/SqlInitViroInfo", // "Configuration/SqlInitKdist", "Configuration/SqlInitAvgDist", "Configuration/SqlInitInterfInfo", // "Configuration/SqlInitFirstAdjection", "Configuration/SqlInitSecondAdjection", "Configuration/SqlInitFirstNearSector", // "Configuration/SqlInitOverlapInfo", "Configuration/SqlInitLayer_OverlapInfo"); //sList = new SectorList("Configuration/SqlInitSectorInfoTest", "Configuration/SqlInitClusterInfo", "Configuration/SqlInitOtherSectors_1", "Configuration/SqlInitOtherSectors_2", // "Configuration/SqlInitOtherSectors_3", "Configuration/SqlInitMergeInfo", "Configuration/SqlInitViroInfo", // "Configuration/SqlInitKdist", "Configuration/SqlInitAvgDist", "Configuration/SqlInitInterfInfo", // "Configuration/SqlInitFirstAdjection", "Configuration/SqlInitSecondAdjection", "Configuration/SqlInitFirstNearSector", // "Configuration/SqlInitOverlapInfo", "Configuration/SqlInitLayer_OverlapInfo"); sList = new SectorList("Configuration/SqlInitSectorInfo", "Configuration/SqlInitOtherSectors_1_GQ", "Configuration/SqlInitOtherSectors_2_GQ", "Configuration/SqlInitOtherSectors_3_GQ", "Configuration/SqlInitMergeInfo_GQ", "Configuration/SqlInitViroInfo", "Configuration/SqlInitKdist", "Configuration/SqlInitAvgDist", "Configuration/SqlInitInterfInfo", "Configuration/SqlInitFirstAdjection", "Configuration/SqlInitSecondAdjection", "Configuration/SqlInitFirstNearSector", "Configuration/SqlInitOverlapInfo", "Configuration/SqlInitLayer_OverlapInfo"); #region ;从 配置文件 获取 小区列表 各项信息; if (sList.initialize(db, xml) == false) return; #endregion #region ;统计一/二阶邻区数目 //string currentDirectory = System.Environment.CurrentDirectory; //Excel.Application excelApp = new Excel.Application(); //Excel.Worksheet Xsheet; //excelApp.Visible = true; //excelApp.Workbooks.Add(""); //Xsheet = (Excel.Worksheet)excelApp.Worksheets.get_Item(1); //Xsheet.Activate(); //Xsheet.Cells[1, 1] = "SectorID"; //Xsheet.Cells[1, 2] = "FirAdjNum"; //Xsheet.Cells[1, 3] = "SecAdjNum"; //for (int i = 0; i < sList.sectorList.Count; i++) //{ // Xsheet.Cells[i + 2, 1] = sList.sectorList[i].sectorID; // Xsheet.Cells[i + 2, 2] = sList.sectorList[i].faList.Count; // Xsheet.Cells[i + 2, 3] = sList.sectorList[i].saList.Count; //} //excelApp.ActiveWorkbook.SaveAs(currentDirectory + "/" + sList.sectorList.Count + " Adj Number.xlsx"); //excelApp.Workbooks.Close(); ////excelApp.Visible = false; //excelApp.Quit(); #endregion begSecIndex = sList.begSectorIndex; endSecIndex = sList.endSectorIndex; //对sector按照kdist的值进行排序 if (endSecIndex - begSecIndex + 1 == sList.sectorList.Count) { List<KdistSortHelper> sortKD = new List<KdistSortHelper>(); for (int i = 0; i < sList.sectorList.Count; i++) sortKD.Add(new KdistSortHelper(sList.sectorList[i], sList.sectorList[i].kDist)); sortKD.Sort(SortRewrite.CompareKdist); } } catch (Exception e) { Console.WriteLine("PREPARE ERR: {0}!", e.Message); } finally { db.close(); xml.Dispose(); } }