private static void InitODGMNS(string odFilePath) { AllOD.Clear(); AlloPoint.Clear(); ODIndex.Clear(); int nowODIndex = 0; CSVParser csv_file = new CSVParser(odFilePath); csv_file.Open(); csv_file.ReadHeadTitle(); while (!csv_file.IsEndOfStream()) { csv_file.ReadDataByLine(); OD od = new OD(); od.ID = AllOD.Count; int oPointID, oPointIndex, dPointID, dPointIndex; csv_file.GetFieldValue("o", out oPointID); csv_file.GetFieldValue("d", out dPointID); oPointIndex = AllNode.FindIndex(n => n.ID == oPointID); dPointIndex = AllNode.FindIndex(n => n.ID == dPointID); od.oPoint = oPointIndex; od.dPoint = dPointIndex; csv_file.GetFieldValue("value", out od.Flow); AllOD.Add(od); //==================// int nowOPointIndex; nowOPointIndex = AlloPoint.FindIndex(delegate(int i) { return(i == oPointIndex); }); if (nowOPointIndex != -1) { ODIndex[nowOPointIndex].Add(nowODIndex); } else { AlloPoint.Add(oPointIndex); List <int> newODIndex = new List <int>(); newODIndex.Add(nowODIndex); ODIndex.Add(newODIndex); } nowODIndex++; } csv_file.Close(); }
private static void InitOD(string odFilePath) { AllOD.Clear(); AlloPoint.Clear(); ODIndex.Clear(); StreamReader sr = File.OpenText(odFilePath); string input; string[] data = null; int nowODIndex = 0; while (sr.EndOfStream == false) { input = sr.ReadLine(); data = input.Split('\t'); OD od = new OD(); od.ID = Convert.ToInt32(data[0]); int oPointID, oPointIndex, dPointID, dPointIndex; oPointID = Convert.ToInt32(data[1]); dPointID = Convert.ToInt32(data[2]); oPointIndex = AllNode.FindIndex(delegate(Node n) { return(n.ID == oPointID); }); dPointIndex = AllNode.FindIndex(delegate(Node n) { return(n.ID == dPointID); }); od.oPoint = oPointIndex; od.dPoint = dPointIndex; od.Flow = Convert.ToDouble(data[3]); AllOD.Add(od); int nowOPointIndex; nowOPointIndex = AlloPoint.FindIndex(delegate(int i) { return(i == oPointIndex); }); if (nowOPointIndex != -1) { ODIndex[nowOPointIndex].Add(nowODIndex); } else { AlloPoint.Add(oPointIndex); List <int> newODIndex = new List <int>(); newODIndex.Add(nowODIndex); ODIndex.Add(newODIndex); } nowODIndex++; } sr.Close(); }