Beispiel #1
0
        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();
        }
Beispiel #2
0
        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();
        }