Example #1
0
        //数据的预处理
        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();
            }
        }
Example #2
0
        /* 初始化 小区、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();
            }
        }